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