將基類的指針或引用,安全的轉(zhuǎn)換成派生類的指針和引用
#include <iostream>
using namespace std;
class A
{
public:
virtual ~A(){}//使用dynamic_cast時必要标捺!
};
class B:public A
{
public:
B()
{
m_b = 12;
}
void foo(){
cout << "B:" << m_b << endl;
}
private:
int m_b;
};
int main()
{
A* a = new B();//按A構(gòu)造聪黎,按B執(zhí)行
B* b = dynamic_cast<B*>(a);
b->foo();
delete a;
system("pause");
return 0;
}