home *** CD-ROM | disk | FTP | other *** search
- Listing 2 - a test program for the hierarchy in Listing 1
-
- int main()
- {
- C c;
- D d;
-
- B *pb = &c; // ok, &c is a C * which is a B *
- pb->f(); // calls C::f()
- pb->g(); // calls B::g()
- pb->h(); // calls B::h()
- pb->j(); // calls B::j()
-
- C *pc = &d; // ok, &d is a D * which is a C *
- pc->f(); // calls C::f()
- pc->B::f(); // calls B::f()
- pc->g(); // calls C::g()
- pc->h(); // calls D::h()
- pc->C::h(); // calls B::h()
- pc->j(); // calls D::j()
- pc->C::j(); // calls C::j()
-
- B &rb = *pc; // ok, *pc is a C which is a B
- rb.f(); // calls C::f()
- rb.B::f(); // calls B::f()
- rb.g(); // calls B::g()
- rb.h(); // calls D::h()
- rb.j(); // calls B::j()
-
- return 0;
- }
-