c++多继承类的大小为所有直接基类大小的总和

本文深入探讨C++中派生类继承多个基类时的大小计算及基类偏移原理,通过实例说明如何定位基类成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       在c++中,如果一个派生类继承了多个基类,那么该继承类的大小是所有基类大小的总和,当寻址特定基类数据成员时,或调用基类成员函数时,首先要找到基类在派生类中的偏移,再与派生类基址相加得出基类首地址(this指针所指向地址)。

       如下图,定义了三个基类cbA,cbB,cbC,派生类cAB继承了这三个基类,第一个基类大小为4,第二个大小为8,第三个为12,故继承类的大小为24。

      第一个基类在继承类中的偏移为0,第二个基类在继承类中的偏移为4,第三个基类在继承类中的偏移为12。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值