1、非虚基类的排列 > 虚基类的排列
2、非平行层次下的vbptr合并
3、平行层次下在同一作用域也合并
虚继承:解决内存重复
练习1、
练习2、
class D: public B,public C virtual public E
练习3、
class D: public B,virtual public C public E
练习4、
练习5、
练习6、
虚函数
class Base
{
public:
Base (int a):ma
{
cout <<"Base ::Base(int)"<<endl;
}
virtual void Show()
{
cout <<"ma"<<ma<<endl;
}
protected:
int ma;
};
class Derive:virtual public Base
{
public:
Derive(int b):mb(b),Base(b){}
private:
int mb;
}
内存布局: