1. class A
  2. {
  3. public:
  4. virtual void a() { cout << "A" << endl; }
  5. virtual void a2();
  6. };
  7.  
  8. class B : public A
  9. {
  10. public:
  11. void a() { cout << "B" << endl; }
  12. virtual void a2();
  13. };
  14.  
  15. A a, * pA; B b, * pB;
  16. pA = &a;
  17. pB = &b;
  18.  
  19. pA->a();
  20. pB->a();
  21. pA = & b;
  22. pA->a();