#include <iostream>
using namespace std;
class A
{
public:
void f(){cout<<"A f()"<<endl;}
virtual void ff(){cout<<"A ff()"<<endl;f();}
};
class B:public A
{
public:
virtual void f(){cout<<"B f()"<<endl;}
void ff(){cout<<"B ff()"<<endl;f();A::ff();}
};
class C:public B
{
public:
virtual void f(){cout<<"C f()"<<endl;}
};
void main()
{
B b;
A *ap=&b;
C c;
B &br=c;
B *bp=&c;
ap->f();
b.f();
br.f();
bp->f();
cout<<"----------/n";
ap->ff();
bp->ff();
}
基础问题,把虚函数的调用,类域的概念搞清楚就可以了