【发布时间】:2011-05-31 10:07:27
【问题描述】:
我从this entry 看到虚拟继承将 sizeof(pointer) 添加到对象的内存占用。除此之外,默认情况下仅使用虚拟继承和仅在需要时使用传统继承对我有什么缺点吗?似乎它会导致更多面向未来的类设计,但也许我错过了一些陷阱。
【问题讨论】:
-
基类的初始化顺序对于大多数人来说变得不明显。因此维护成本增加。
-
虚拟继承仅在某些实现上添加内部指针。 Itanium ABI 不使用内部指针,只使用 vptr。
标签: c++ multiple-inheritance virtual-inheritance