home *** CD-ROM | disk | FTP | other *** search
- // \EXAMPLS\EX1403.CPP
- #include <iostream.h>
- //---------------------------------------------------------
- class base1 {
- public:
- virtual void message()
- { cout << "base1 definition called" << endl; }
- };
-
- //---------------------------------------------------------
- class direct1 : public base1 {
- public:
- void message()
- { cout << "direct1 definition called" << endl; }
- };
-
- //---------------------------------------------------------
- class indirect1: public direct1 {
- public:
- void message()
- { cout << "indirect1 definition called" << endl; }
- };
-
- //---------------------------------------------------------
- void useClass(direct1* d) {
- d->message();
- }
-
- //---------------------------------------------------------
- void main() {
- indirect1 id;
- direct1* idp = &id;
- useClass(idp); // indirect1 definition of message() called
- }
-
-
-