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

  1. // ex09014.cpp
  2. // Pure virtual function
  3. #include <iostream.h>
  4. #include <stdio.h>
  5.  
  6. // ------------- A Time Class
  7. class Time    {
  8. protected:
  9.     int hours, minutes, seconds;
  10. public:
  11.     Time(int hr, int min, int sec)
  12.         { hours = hr; minutes = min; seconds = sec; }
  13.     virtual void display() = 0;
  14. };
  15.  
  16. // ------------ A TimeZone Class
  17. enum timezone { gmt, est, cst, mst, pst };
  18. char *TZ[] = { "GMT", "EST", "CST", "MST", "PST" };
  19.  
  20. class TimeZone    : public Time {
  21. protected:
  22.      timezone zone;
  23. public:
  24.     TimeZone(int hr, int min, int sec, timezone zn) 
  25.             : Time(hr, min, sec)
  26.         { zone = zn; }
  27.     void display();
  28. };
  29.  
  30. void TimeZone::display()
  31. {
  32.     cout << hours << ':' << minutes << ':' 
  33.          << seconds << ' ' << TZ [zone];
  34. }
  35. main()
  36. {
  37.     TimeZone dt(21, 42, 12, pst);
  38.     Time&     tp = dt;
  39.     tp.display();
  40.     cout << '\n';
  41.     dt.display();
  42. }
  43.