T1.h
#include<typeinfo>
#include<iostream>
using namespace std;
class T1
{
public:
T1(int n=5)
{
m=n;
}
void show();
int m;
};
T1.cpp
#include"T1.h"
void T1::show()
{
cout<<"m is :"<<m<<" !"<<endl;
cout<<"name is : "<<typeid(*this).name()<<endl;
}
main.cpp
#include"T1.h"
using namespace std;
void main()
{
T1 a;
a.show();
T1 *b=&a;
if(typeid(*b)==typeid(T1)) //这个是检测是不是这个T1类的对象
{
cout<<"is hello ! "<<endl;
}
//T1 *m =static_cast<T1*>(b); //无条件转换
//T1 *m =dynamic_cast<T1*>(b); //这种比较保险
}
程序截图