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

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

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

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

 

 

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

 

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

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2021-09-25
  • 2022-02-22
  • 2022-12-23
  • 2022-01-05
  • 2021-12-04
  • 2021-11-17
猜你喜欢
  • 2022-12-23
  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-28
  • 2021-10-27
相关资源
相似解决方案