home *** CD-ROM | disk | FTP | other *** search
- // ex07010.cpp
- // Conversion in an expression
- #include <iostream.h>
-
- class Date {
- int mo, da, yr;
- public:
- Date(int m, int d, int y) { mo = m; da = d; yr = y; }
- operator long(); // member conversion function
- };
-
- // ---- the member conversion function
- Date::operator long()
- {
- static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};
- long days = yr;
- days *= 365;
- days += yr / 4;
- for (int i = 0; i < mo-1; i++)
- days += dys[i];
- days += da;
- return days;
- }
-
- main()
- {
- Date today(2, 12, 90);
- const long ott = 123;
- long sum = ott + today; // today is converted to long
- cout << ott << " + " << (long) today << " = " << sum;
- }