home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / cdactual / demobin / share / program / C / ANSICPP.ZIP / EX07016.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-24  |  743 b   |  37 lines

  1. // ex07016.cpp
  2. // Bridging classes with a friend function
  3. #include <iostream.h>
  4.  
  5. class Time;
  6.  
  7. // ------- date class
  8. class Date {
  9.     int mo, da, yr;
  10. public:
  11.     Date(int m, int d, int y) { mo = m; da = d; yr = y;}
  12.     friend void display(Date&, Time&); // bridge function
  13. };
  14.  
  15. // ------- time class
  16. class Time {
  17.     int hr, min, sec;
  18. public:
  19.     Time(int h, int m, int s) { hr = h; min = m; sec = s;}
  20.     friend void display(Date&, Time&); // bridge function
  21. };
  22.  
  23. // -------- a bridge friend function
  24. void display(Date& dt, Time& tm)
  25. {
  26.     cout << '\n' << dt.mo << '/' << dt.da << '/' << dt.yr;
  27.     cout << " ";
  28.     cout << tm.hr << ":" << tm.min << ":" << tm.sec;
  29. }
  30.  
  31. main()
  32. {
  33.     Date dt(2,16,90);
  34.     Time tm(10,55,0);
  35.     display(dt, tm);
  36. }
  37.