#include <iostream.h>
 
class A 
{
  public:
    virtual void f(){cout << "A::f()" << endl;}
    void g() {f();}    
};

class B : public A
{        
  public:
    virtual void f() {cout << "B::f()" << endl;}
};                   

void main()
{
  A *pa = new B;
  pa->g();
}