我有基类A,类B继承自A,类C是模板类,继承自A. class D继承自C.关系如下:
A
/ \
B C (template class)
\
D
Run Code Online (Sandbox Code Playgroud)
我可以使用D对象D1创建A对象O1,然后我想动态地将O1转换为类型C对象C1.但我发现它失败了.我的问题是为什么这个过程失败了?
然后我使用static_cast从D对象D1创建C类型对象C2,并且我检查C2具有来自D2的正确值.使用static_cast从D类型转换为C类型总是成功的吗?
谢谢!!!