首页 > 其他 > 详细

多继承时的内存结构

时间:2020-03-05 17:33:22      阅读:78      评论:0      收藏:0      [点我收藏+]

虚继承时,同虚函数一样会有虚表产生。虚继承时的子类前几个字节会存放一个指针,叫做虚指针。该指针指向一个虚表,表中存放着虚基类中变量的偏移量

虚表的第一项:虚表指针和该指针所属类的起始地址的偏移量,一般为0

虚表的其他项:虚基类中第一个成员变量和该类起始地址的偏移量

产生虚继承时,内存中父类的成员变量在子类成员变量的后面,而非普通继承时的前面。

对于类Student来说,Person是它的虚基类

对于类Person来说,Person是它的虚基类

对于类Undergraduate来说,Person是它的虚基类

技术分享图片

 

类Student的内存结构

技术分享图片

 

类Worker的内存结构

技术分享图片

 

 

类Undergraduate的内存结构

 技术分享图片

 

多继承时的内存结构

原文:https://www.cnblogs.com/primabrucexu/p/12421383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!