开发平台(Platform): (Ex: Win10, Linux, ...)
win10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
vs2015
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
dynamic_cast的使用
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
Class Basic
{
Public :
Virtual int A() {return 0;}
}
Class Basic2
{
Public:
Virtual int B(){return 0;}
}
Class Derived : public Basic , public Basic2
{
int A() override;
int B() override;
}
Basic* pa = new Derived();
Basic2* pb = dynamic_cast<Basic2*>(pa);
补充说明(Supplement):
想请问各位前辈 这样使用dynamic_cast 是否错误
虽然在程式中可以执行,也没发生错误
但与我在网络上查到的用法有些不同
有疑问的点是pa 是 父类别指标 ,同样的pb也是父类别指标
如此一来就没有上对下的类型转换
再麻烦各位前辈排解我的疑惑