class A
{
public:
virtual ~A() // 使用dynamic_cast基类必须有虚函数
{
}
int a = 5;
};
class B :public A
{
public:
~B()
{
}
int c = 5;
};
int main()
{
A* a = new A;
B* b = dynamic_cast<B*>(a); //基类转为派生类 错误转换,b 等于 nullptr
B* c = new B;
A* d = dynamic_cast<A*>(c); //派生类转为基类 正确转换
return 0;
}
C++ dynamic_cast 使用示例
最新推荐文章于 2024-09-22 16:31:27 发布