class AA{
public:
void f(){cout<<"AA";}
};
class BB:public AA{
public:
BB(){cout<<"BB";}
};
class CC:public BB{
public:
void f(){BB::f();cout<<"CC";}
};
int main(){
AA aa,*p;
BB bb;
CC cc;
p=&cc;
p->f();
return 0;
}
BB bb构造输出字符串BB
CC cc构造输出字符串BB
由于f函数不是虚函数,因此p->f()实际执行的是AA类的f函数,输出AA
最终输出BBBBAA