多继承中的虚表问题
如下代码:
A类、B类都有虚函数,C类继承了A、B类,然后重写了A、B类的虚函数,且C类也有自己的虚函数
cpp
class A
{
public:
virtual void fA()
{
cout << "A::f()" << endl;
}
};
class B
{
public:
virtual void fB()
{
cout << "B::f()" << endl;
}
};
class C :public B, public A
{
void fA() {
cout << "C::fA()" << endl;
}
void fB() {
cout << "C::fB()" << endl;
}
virtual void fC() {
cout << "C::fC()" << endl;
}
virtual void fD() {
cout << "C::fD()" << endl;
}
};
int main() {
A a;
B b;
C c;
cout << sizeof(c) << endl; // 8 (32位下)
return 0;
}
调试图: