精进C++进行中

15/9/10

2022-04-21  本文已影响0人  hannah1123

rtti:运行阶段识别异常

grand(基类)

superb(派生类1)

Magnificent(派生类2)

基类指针不能赋值给派生类,派生类指针可以赋值给基类指针,解决方法使用dynamic_cast关键字:

举例:

说明:当pg是superb或magnificent对象时,ps可以被正常转换且运行不会报错,当ps指向的是grand对象指针时,会返回空指针,也不会报错了。

typeid 和type_info

typeid打印当前指向指针对象是哪个,ps:该库中包含name()函数;

typeid判断两个指针指向的是不是同一个对象

上一篇 下一篇

猜你喜欢

热点阅读