|
1
6
每当您发现自己想要在基类中使用“IsConcreteX”这样的成员函数(编辑:或者更准确地说,使用“ConcreteX*GetConcreteX”这样的函数)时,基本上都是在实现自己的
这看起来可能比
因此,真正的问题应该是,是否存在这样的情况 基类知道具体派生类是有意义的 答案是:通常不会,但你肯定会遇到这样的情况。
用非常抽象的术语思考一下软件的一个组件,它将对象从一个部分(a)传输到另一部分(B)。这些对象的类型
B、 但是,只有
这里有一个不使用
如果
最终,这通常取决于您是从一开始就设计一个包含所有部分的整个系统,还是在后期修改或调整其中的部分。但如果你发现自己遇到了上述问题,你可能会感激
|
|
|
2
1
它允许您执行只能对派生类型执行的操作。但这通常是一个提示,表明重新设计是正确的。
|
|
|
3
1
我想不出任何不可能使用虚拟功能的情况(除了诸如
然而,我发现自己在使用
在一些地方,我使用了
|
|
|
4
1
真的没有优势。有时
|
|
|
5
0
|