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

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