dynamic_cast可以将子类指针转换为父类指针?
#include<iostream>
using namespace std;
class A{virtual void func(){};};
class B:public A{};
class C:public B{};
class D:public B{};
int main()
{
A *pa = new B; //父类指针指向子类
B *pb = dynamic_cast<B*>(pa); //父类指针转换为子类指针
cout << pb << endl;
C *pc = new C;
B *pcc = dynamic_cast<B*>(pc); //子类指针转换为父类指针
cout << pcc << endl;
return 0;
}
结果: