Sup*_*ric 25 c++ multiple-inheritance virtual-inheritance
我从这个条目中看到虚拟继承将sizeof(指针)添加到对象的内存占用.除此之外,默认情况下使用虚拟继承是否有任何缺点,只有在需要时才使用常规继承?这似乎会带来更具前瞻性的课堂设计,但也许我错过了一些陷阱.
Ale*_*x B 23
缺点是
dynamic_cast在使用a的任何地方都必须使用更昂贵的static_cast(可能是也可能不是问题,具体取决于您的系统以及您的设计是否需要它).单独的第1点使它不值得,因为你无法隐藏你的虚拟基地.几乎总有一种更好的方法.
Gre*_*ill 13
根据我的经验,几乎不需要虚拟继承(与虚拟方法相对).在C++中它用于解决"钻石继承问题",如果你避免多重继承实际上不会发生.
我很确定我从未在C++书籍之外遇到虚拟继承,其中包括我编写的代码和我维护的百万+行系统.
| 归档时间: |
|
| 查看次数: |
5485 次 |
| 最近记录: |