class A { virtual fn(){printf("a");}; }; class B: public A { virtual fn(){printf("b");}; }; class C: public B { };
A *ptr = new C; ptr->fn();