//#include #include class A{ public: virtual void v(){printf( "A::v ");} void n(){printf( "A::n ");} }; class B: public A{ public: void v(){printf( "B::v ");} void n(){printf( "B::n ");} }; class C: public A{ public: void v(){printf( "C::v ");} void n(){printf( "C::n ");} }; int main() { A a; B b; C c; A *apa=&a, *apb=&b, *apc=&c; printf(" x = a b c\n"); printf(" x.n "); a.n(); b.n(); c.n(); printf("\n"); printf("apx->n "); apa->n(); apb->n(); apc->n(); printf("\n"); printf(" x.v "); a.v(); b.v(); c.v(); printf("\n"); printf("apx->v "); apa->v(); apb->v(); apc->v(); printf("\n"); return 0; }