home *** CD-ROM | disk | FTP | other *** search
/ Microsoftware Monthly 19…2 Programming Power Tools / MASO9512.ISO / cpptutor / cpptutor.arj / EXAMPLES / EX1403.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-27  |  884 b   |  37 lines

  1. // \EXAMPLS\EX1403.CPP
  2. #include <iostream.h>
  3. //---------------------------------------------------------
  4. class base1 {
  5. public:
  6.    virtual void message()
  7.    { cout << "base1 definition called" << endl; }
  8. };
  9.  
  10. //---------------------------------------------------------
  11. class direct1 : public base1 {
  12. public:
  13.    void message()
  14.    { cout << "direct1 definition called" << endl; }
  15. };
  16.  
  17. //---------------------------------------------------------
  18. class indirect1: public direct1 {
  19. public:
  20.    void message()
  21.    { cout << "indirect1 definition called" << endl; }
  22. };
  23.  
  24. //---------------------------------------------------------
  25. void useClass(direct1* d) {
  26.    d->message();
  27. }
  28.  
  29. //---------------------------------------------------------
  30. void main() {
  31.    indirect1 id;
  32.    direct1* idp = &id;
  33.    useClass(idp);   // indirect1 definition of message() called
  34. }
  35.  
  36.  
  37.