以下关于static_cast与dynamic_cast的说法正确的是 A. dynamic_cast 在类型转换的过程中对于多态类型的处理更为安全 B. dynamic_cast只在多态类型时合法,即该类至少具有一个虚拟方法 C. dynamic_cast可以转换指针、引用(基类到派生类)和对象 D. 在类层次间进行上行转换时,dynamic_cast和static_cast的效果是一样的
时间: 2023-12-06 15:43:47 浏览: 81
B. dynamic_cast只在多态类型时合法,即该类至少具有一个虚拟方法 是正确的。
A. dynamic_cast 在类型转换的过程中对于多态类型的处理更为安全并不正确。dynamic_cast主要用于从基类指针或引用转换为派生类指针或引用,但如果基类中没有虚函数,则无法进行动态绑定,也就无法使用dynamic_cast。
C. dynamic_cast不能转换对象,只能转换指针和引用。
D. 在类层次间进行上行转换时,dynamic_cast比static_cast更安全,因为dynamic_cast具有类型检查,可以检查类型是否正确。
阅读全文