C++ 多继承
/**
* @file virnhe.cpp * @brief 多继承
* @author Ernest
* @version v1
* @date 2019-07-21
*/
#include<iostream>
using namespace std;
class A {
virtual void fun() {}
};
class B {
virtual void fun2() {}
};
class C : public A, public B {
public:
virtual void fun3() {}
};
int main() {
class A *a = new A();
class B *b = new B();
class C *c = new C();
/*
* @brief 8 8 16 派生类虚继承多个虚函数,会继承所有虚函数的vptr
*/
cout<<sizeof(*a)<<" "<<sizeof(*b)<<" "<<sizeof(*c);
return 0;
}
//8 8 16
有两个虚函数表指针,第一个表

可见第一个表是继承A的,但是也有C自己的虚函数;第二个表

是继承B的