c++中判断指针类型对象
2014-08-22 03:03
363 查看
ClassA* result = dynamic_cast<ClassA*>(a);
如果ptr为null, 就说明pool[0]不是a类型的对象, 这种方法不能判断父类, 比如a继承自b, 而判断a和b的混合时, 此ptr都能通过....
const char* classNameA = typeid(*a).name()
可以得到a对象的构造类型
const char* classNameB = typeid(a).name()
可以得到a对象的定义类型
typeid返回的是有唯一编号的, 并不是完全的纯粹class名称, 所以用作比较的话是没问题, 但是你直接和类的字符串划等号是不行的
如果子类和父类进行区分, 也可以设置父类protect变量类型, 来处理
如果ptr为null, 就说明pool[0]不是a类型的对象, 这种方法不能判断父类, 比如a继承自b, 而判断a和b的混合时, 此ptr都能通过....
const char* classNameA = typeid(*a).name()
可以得到a对象的构造类型
const char* classNameB = typeid(a).name()
可以得到a对象的定义类型
typeid返回的是有唯一编号的, 并不是完全的纯粹class名称, 所以用作比较的话是没问题, 但是你直接和类的字符串划等号是不行的
如果子类和父类进行区分, 也可以设置父类protect变量类型, 来处理
相关文章推荐
- c++ 动态判断基类指针指向的子类类型(typeid)
- typeid()——c++中获取对象或指针类型
- Java中的对象类型像C++引用还是指针
- c++ 动态判断基类指针指向的子类类型(typeid)
- [转]解析C++普通局部变量与指针类型的对象变量的应用区别
- C++ 基础:传参的基本形式-基本类型,对象,引用和指针
- C++ 对象或指针类型转换
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- c++ 动态判断基类指针指向的子类类型(typeid)
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- c++ 普通全局变量与指针类型的对象变量 应用区别
- c++对象模型笔记:指针类型转换
- C++指针类型与对象类型匹配的解释
- C++判断指针的类型
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- c++ 动态判断基类指针指向的子类类型(typeid)
- C++中const修饰基本数据类型、指针、引用、对象
- 深入探索C++对象模型--指针类型 & 多态机制
- C++学习笔记二 —— 3.3 指针类型
- 注意C++中对象指针,慎用void*