c++运行时类型识别:RTTI

1.通过RTTI,能够通过基类的指针或应用来检索其所指对象的实际类型。
2.c++通过两个操作符提供RTTI:<1>typeid:返回指针或者应用所指对象的实际类型<2>dynamic_cast:将基类的指针或者引用安全的转换为派生类的指针或者引用。注意:基类至少有一个虚函数(虚析构也算);指针转换失败,返回0;引用转换失败,抛出bad_cast类型异常

3.注意typeid必须通过对象(指针是看不出真实类型,需要typeid(*p).name()这种形式)

发布了51 篇原创文章 · 获赞 2 · 访问量 860

猜你喜欢

转载自blog.csdn.net/YRC333/article/details/98621605