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;
}
内存布局:

博客主要介绍了虚继承和虚函数的相关内容,包括非虚基类与虚基类的排列,非平行层次和平行层次下vbptr的合并情况,指出虚继承可解决内存重复问题,还给出了多个相关练习。
4121

被折叠的 条评论
为什么被折叠?



