我回忆一下有关dynamic_cast的问题.dynamic_cast无法工作,因为基类没有虚方法.其中一个答案说,从没有虚拟方法的类派生通常意味着糟糕的设计.它是否正确?即使没有利用多态性,我仍然无法看到这样做的错误.
这取决于我们所谈论的内容:
std::unary_function想到)private继承(使用而不是组合从空基优化中受益)它也没关系当您开始以多态方式处理此类Derived对象时,问题就来了.如果你曾经获得这样的位置,那么它就是明确的代码味道.
注意:即使上面提到的很好,你仍然提供了以多态方式使用该类的能力,因此你将自己暴露给微妙的错误.
| 归档时间: |
|
| 查看次数: |
3608 次 |
| 最近记录: |