创作人QQ:851301776,邮箱:lfr890207@163.com,欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点!
个人座右铭:
1.没有横空出世,只要厚积一定发。
2.你可以学历不高,你可以不上学,但你不能不学习
- #include <typeinfo>
- typeid(类型/对象);
- 返回typeinfo类型的对象,用于描述类型信息,在typeinfo类中包含name成员函数,可以获取字符串形式类型信息。
- typeinfo了提供了"==""!="操作符重载,通过它们可以进行类型之间的比较,如果类型之间存在多态的继承关系,typeid还可以利用多态的特性确定实际对象的类型。
- #include <iostream>
- #include <typeinfo>
- using namespace std;
- class A{ virtual void func(){} };
- class B:public A{ void func(){} };
- class C:public A{ void func(){} };
- void foo(A& a){
- if(typeid(a) == typeid(B)){
- cout << "针对子类B的处理" << endl;
- }
- else if(typeid(a) == typeid(C)){
- cout << "针对子类C的处理" << endl;
- }
- }
- int main(void)
- {
- int num