为什么没有数据成员的抽象虚拟基类对于多继承更有效

时间:2017-03-09 13:36:52

标签: c++ multiple-inheritance virtual-inheritance

我正在阅读 Inside C ++ Object Model 这本书,并了解虚拟多继承模型。

我知道我们需要在派生类对象的基类的每个部分中插入两种信息:
虚函数和虚基类。

这本书提出了两个策略:
1)两个指针。一个用于虚拟功能,另一个用于虚拟基类 enter image description here
2)一个指向一个表的指针,它包含虚函数槽和虚基类偏移。我们使用负数来表示虚拟基类偏移量 enter image description here

我认为现在没有错。

然后这本书说:

  

通常,最有效地使用虚拟基类是   一个抽象的虚拟基类,没有关联的数据成员。

enter image description here 我不知道为什么抽象虚拟基类中的数据成员不会更有效率。

在线图书是here。 Page 68 - 74了解有关我问题的更多细节。

0 个答案:

没有答案