class A
{
public:
void f1()
{
printf("A::f1 ");
}
virtual void f2()
{
printf("A::f2 ");
}
void callfunc()
{
printf("A::callfunc ");
f1();
f2();
}
};
class B :public A
{
public:
void f1()
{
printf("B::f1 ");
}
void f2()
{
printf("B::f2 ");
}
void callfunc()
{
printf("B::callfunc ");
f1();
f2();
}
};
int main()
{
B *pB=new B;
pB->callfunc();
A *pA=pB;
pA->callfunc();
return 0;
}
参考答案