c++对象模型学习心得(初步继承模型)

1、在虚拟继承中,基类不管在继承串链中被派生过多少次,永远只存在一个实体,称为SUBOBJECT。
2、继承的方案
(1)每一个基类可以被它的派生类对象内的一个槽指出,该槽含有这个基类对象(BASE CLASS OBJECT)的地址,
这样的话,派生类对象的大小不会因为其基类的改变而受到影响,因为派生类仅保存基类对象的指针,缺点是
这样会导致存取时间和空间的负担,因为要多次存取才能取到基类对象。
(2)生成一个base classtable,表格中的一个槽含有一个该类的基类地址,每个类对象含有一个BPTR指针,指向这个
基类表,这样的话,每个类对象都继承有一致的表示,对于多重继承来说,因为仅存放该类对象所继承的基类表的地址,所以与基类大小无关,而基类表存放了该子类的多个父类,只需要改变基类表,而无需去改变类对象本身,就可以改变该类对象所继承的父类了。

你可能感兴趣的:(C++,c,C#)