虚继承与内存布局

单继承:单个基类 多继承:多个基类 菱形继承: 给出一个基类指针指向派生类对象:B* p=new D(10); 则D的内存布局为: 在图中我们可以看到有两个A的内存块造成了内存重复,浪费了内存,此时就引入了虚继承和虚基类 虚基类:虚继承中的基类 虚继承:加在可能发生内存重复的直接继承上 加上虚继承后,B和C中出现了一个指针,因为指针在编译阶段生成,但是在编译阶段A还未实例化没有地址可以指向,所以该
相关文章
相关标签/搜索