home *** CD-ROM | disk | FTP | other *** search
- // ex07015.cpp
- // Friend functions in a class
- #include <iostream.h>
-
- class Julian;
- // ------- date class
- class Date {
- int mo, da, yr;
- public:
- Date() {}
- Date(Julian); // constructor conversion function
- void display()
- {cout << '\n' << mo << '/' << da << '/' << yr;}
- };
- // -------- Julian date class
- class Julian {
- int da, yr;
- public:
- Julian(int d, int y) { da = d; yr = y; }
- friend Date::Date(Julian); // friend conversion function
- };
- static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};
- // ---- constructor conversion function (Date <- Julian)
- Date::Date(Julian jd)
- {
- yr = jd.yr;
- da = jd.da;
- for (mo = 0; mo < 11; mo++)
- if (da > dys[mo])
- da -= dys[mo];
- else
- break;
- mo++;
- }
- main()
- {
- Date dt;
- Julian jd(123, 89);
- dt = jd; // convert Julian to Date
- dt.display();
- }