c++中typeid().of 的应用
来源:互联网 发布:阿里云服务器可以干嘛 编辑:程序博客网 时间:2024/05/16 10:52
</pre><pre name="code" class="cpp">
#include<iostream>using namespace std;class base{public:void virtual fun(){cout<<"student"<<endl;}};class derived :public base{public:derived(){};void fun(){cout<<"derived";}};int main(){ base*yang; derived xuan; yang=&xuan; cout<<typeid(*yang).name()<<endl;}
场景:现有一个基类指针,怎样判断其所指的是那个子类呢?只需要用typeof(*p)即可显示;以上代码输出class derived。但是注意只有基类是虚类,也就是包含有虚函数时才可以用typeof得到正确结果,如果去掉base的virtual,那恭喜啦,输出将一直为class base
当然我们也可以添加一个判断,如果为某个子类,则进行相应的操作。
if(strcmp(typeid(derived).name(), typeid(*yang).name()) == 0) {cout<<"right!"<<endl;}
0 0
- c++中typeid().of 的应用
- C++中typeid的用法
- C++中typeid的使用
- C++中typeid的使用
- 关于C++ RTTI中typeid()的原理
- brew中不能使用typeid的问题
- NS3中TypeId的机制与作用
- C/C++中检查变量类型函数typeid()
- C++类型转换----dynamic_cast(以及结合typeid的应用)
- C++<typeinfo>之typeid
- C++中typeid
- cpp中typeid
- typeid的用法
- typeid的用法
- typeid的用法-例子
- typeid的作用
- typeid的作用
- typeid的作用
- ORACLE 计算时间相减间隔
- 本文专注于<递归算法和分治思想>
- JS数组
- Const Correctness in C++
- Android菜鸟的成长笔记——可爱的小闹钟
- c++中typeid().of 的应用
- Ubuntu12.04调节亮度并保存
- poj1015
- HDOJ-3790-最短路径问题 解题报告
- 第十四周上机实践项目——阿拉伯数字之素数
- 理解JavaScript原型prototype
- NGUI制作头顶血条个人小问题解决方法
- 14.3
- 14.1动物这样叫(二)