dynamic_cast 是 C++ 中用于在运行时进行类型转换的操作符,主要用于处理多态类型(即包含虚函数的类)。它允许将基类指针或引用安全地转换为派生类指针或引用。如果转换失败,dynamic_cast 会返回 nullptr(对于指针)或抛出 std::bad_cast 异常(对于引用)。
dynamic_cast不能用的场景
也就是说dynamic_cast会做的一些检查(编译阶段)
不相关的类
用dynamic_cast做转换的类不能是不相关,也就是没有继承关系的类:
#include <iostream>
class c1
{
public: