C++ 子类覆盖了父类的虚函数后,为什么还可以引用父类的函数?
以前一直没有仔细考虑这个问题,今天突然想到,一时半会想不通,网上也没找到答案,只好来求教
例如
class A
{
public:
virtual void func(){ cout<<"A"<<endl; }
}
class B : publc A
{
public:
virtual void func(){ cout<<"B"<<endl; }
}
B b;
b.A::func();
输出为 A
那么问题来了,B继承了A之后并且重写了 A 的方法 ,A 的func函数被覆盖了 ,那编译器是怎么找到A 的函数并输出A 的?B的虚函数表中,func()不是被替换了吗?