<分区>
Possible Duplicate:
Downcasting using the Static_cast in C++
我很困惑什么时候我们需要将指向基对象的指针转换为派生类的指针? 谁能帮我举个例子?
<分区>
Possible Duplicate:
Downcasting using the Static_cast in C++
我很困惑什么时候我们需要将指向基对象的指针转换为派生类的指针? 谁能帮我举个例子?
最佳答案
你说的是哪种转化?
如果它是关于向下转换(或动态转换,它们是同一种类型但在运行时验证)那么你可以这样做来强制类型检查器不要通过强制执行您指定的类型来检查该特定类型。
这意味着它可能会破坏您的代码,该特定指令中缺少类型安全保证,但有时需要它,即使好的设计本来就不需要它。
必要性是由这样一个事实给出的:如果没有强制转换,您将不允许调用派生类的任何方法,即使您确定指向基类的指针包含派生类(但编译器不能'验证它)。
关于c++ - 为什么 C++ 允许将指向基对象的指针转换为派生类的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486010/