【发布时间】:2020-10-27 20:28:24
【问题描述】:
我知道向下转换基本上是将父类指针或引用转换为派生类引用或指针,为此您使用 dynamic_cast 运算符。但我几乎想不出任何例子。大家能解释一下吗?
【问题讨论】:
-
我一直发现使用
dynamic_cast表示存在设计缺陷。 (即使我在自己的代码中使用过它。Bad Eljay,没有饼干。)可能有有效的用例,但我还没有遇到过。 -
可能会用到这个,通常在复杂的框架中,其他设计考虑可能会阻止使用真正的虚拟接口或通过去虚拟化提供切实的性能优势。
-
static_cast也可以执行向下转型。
标签: c++ oop polymorphism downcast