home *** CD-ROM | disk | FTP | other *** search
- #include <iostream.h>
-
-
- typedef struct _MyStruct {
-
- unsigned int a;
- unsigned int b;
-
- // Operators
- _MyStruct operator+(_MyStruct &o)
- {
- _MyStruct temp = { a + o.a, b + o.b };
- return temp;
- }
-
- unsigned int operator==(_MyStruct &o)
- {
- return a == o.a && b == o.b;
- }
-
- } MyStruct;
-
-
- template <class T>
- unsigned int AddEquals(T val1, T val2, T compare)
- {
- return (val1 + val2) == compare;
- }
-
- void main()
- {
- // Example 1 _ Legal
- cout << "Does 4 + 5 = 9? ";
- cout << (AddEquals(4, 5, 9) ? "Yes" : "No") << "\n";
-
- // Example 2 _ Legal
- cout << "Does 7.0 + 5.5 = 12.0? ";
- cout << (AddEquals(7.0, 5.5, 12.0) ? "Yes" : "No") << "\n";
-
- // Example 3 _ Illegal
- MyStruct a = { 23, 43 }, b = { 11, 19 }, c = { 34, 62 };
- cout << "Does a + b = c? ";
- cout << (AddEquals(a, b, c) ? "Yes" : "No") << "\n";
- }
-