home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_02 / saks / testmix.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-14  |  960 b   |  32 lines

  1. Listing 2 - a test program for the hierarchy in Listing 1
  2.  
  3. int main()
  4.     {
  5.     C c;
  6.     D d;
  7.  
  8.     B *pb = &c;         // ok, &c is a C * which is a B *
  9.     pb->f();            // calls C::f()
  10.     pb->g();            // calls B::g()
  11.     pb->h();            // calls B::h()
  12.     pb->j();            // calls B::j()
  13.  
  14.     C *pc = &d;         // ok, &d is a D * which is a C *
  15.     pc->f();            // calls C::f()
  16.     pc->B::f();         // calls B::f()
  17.     pc->g();            // calls C::g()
  18.     pc->h();            // calls D::h()
  19.     pc->C::h();         // calls B::h()
  20.     pc->j();            // calls D::j()
  21.     pc->C::j();         // calls C::j()
  22.  
  23.     B &rb = *pc;        // ok, *pc is a C which is a B
  24.     rb.f();             // calls C::f()
  25.     rb.B::f();          // calls B::f()
  26.     rb.g();             // calls B::g()
  27.     rb.h();             // calls D::h()
  28.     rb.j();             // calls B::j()
  29.  
  30.     return 0;
  31.     }
  32.