fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template <class TYPE1>
  6. struct SDataContainer
  7. {
  8. SDataContainer(TYPE1 pData)
  9. {
  10. m_pData = pData;
  11. }
  12.  
  13. bool operator==(const SDataContainer<TYPE1>& pData)
  14. {
  15. return (m_pData == pData.m_pData);
  16. }
  17.  
  18. TYPE1 m_pData;
  19. };
  20. template <class DATATYPE1>
  21. class Comparison
  22. {
  23. public:
  24. Comparison (const SDataContainer<DATATYPE1>& pSData)
  25. : m_SData(pSData)
  26. {
  27. }
  28. bool operator==(const Comparison<DATATYPE1>& pData)
  29. {
  30. return (m_SData.m_pData == pData.m_SData.m_pData);
  31. }
  32. SDataContainer<DATATYPE1> m_SData;
  33. };
  34. int main()
  35. {
  36. SDataContainer<float> sDCObj1 (10.0);
  37. SDataContainer<float> sDCObj2 (10.0);
  38. cout << "Verify the data: " << (sDCObj1 == sDCObj2) << endl;
  39. Comparison<float> sCObj1 (sDCObj1);
  40. Comparison<float> sCObj2 (sDCObj2);
  41. cout << "Verify the data: " << (sCObj1 == sCObj2) << endl;
  42. return 0;
  43. }
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
Verify the data: 1
Verify the data: 1