home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / info / c_tutorg / virtual6.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1992-05-24  |  1.1 KB  |  64 lines

  1.                                   // Chapter 10 - Program 6
  2. #include <iostream.h>
  3.  
  4. class vehicle @{
  5.    int wheels;
  6.    float weight;
  7. public:
  8.    virtual void message(void) @{ cout << "Vehicle message\n";@}
  9. @};
  10.  
  11.  
  12. class car : public vehicle @{
  13.    int passenger_load;
  14. public:
  15.    void message(void) @{ cout << "Car message\n";@}
  16. @};
  17.  
  18.  
  19. class truck : public vehicle @{
  20.    int passenger_load;
  21.    float payload;
  22. public:
  23.    int passengers(void) @{return passenger_load;@}
  24. @};
  25.  
  26.  
  27. class boat : public vehicle @{
  28.    int passenger_load;
  29. public:
  30.    int passengers(void) @{return passenger_load;@}
  31.    void message(void) @{ cout << "Boat message\n";@}
  32. @};
  33.  
  34.  
  35. main()
  36. @{
  37. vehicle *unicycle;
  38.  
  39.    unicycle = new vehicle;
  40.    unicycle->message();
  41.    delete unicycle;
  42.  
  43.    unicycle = new car;
  44.    unicycle->message();
  45.    delete unicycle;
  46.  
  47.    unicycle = new truck;
  48.    unicycle->message();
  49.    delete unicycle;
  50.  
  51.    unicycle = new boat;
  52.    unicycle->message();
  53.    delete unicycle;
  54. @}
  55.  
  56.  
  57.  
  58. // Result of execution
  59. //
  60. // Vehicle message
  61. // Car message
  62. // Vehicle message
  63. // Boat message
  64.