一、类型识别
2.1dynamic_cast<类型>(对象);
在多态的代码中,父类指针只能调用父类中的相关数据。子类扩展的部分无法调
用,有时要恢复父类指针指向的具体对象的类型。而这个恢复就要用动态
类型转换。
动态类型转换必须满足多态性(必须要有虚函数)
如果转换成功返回非空指针,转换失败则返回NULL指针
程序举例:
```cpp
#include <iostream>
using namespace std;
class Animal{
public:
virtual void run(){
cout << "动物的跑" << endl;
}
void show(){
cout << "animal show()" << endl;
}
};
class Dog:public Animal{
public:
void run(){
cout << "狗狂奔" << endl;
}
void dogfun(){
cout << "狗看家" << endl;
}
};
class Fish:public Animal{
string name;
public:
void run(){
cout <<