您的位置:首页 > 编程语言 > C语言/C++

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变量类型, 来处理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: