14.1为什么要使用RTTI

什么是 RTTI

RTTI(Run-Time Type Identification),通过运行时类型信息程序能够使用基类指针或引用来检查这些指针或引用所指的对象的实际派生类型。

List<shape> 当把shape或其子类放入list集合时,会自动转型为shape,会丢失具体类型

当从容器中取出时,这种容器---实际上它将所有的事物当做object持有--会自动转型回shape  RTTI的含义:在运行时,识别一个对象的类型。

在面对对象编程的时候,并不需要把类型转换为具体类型,因为这不符合依赖倒置原则,通常转换为一个高度抽象类,这样更加易写,易读,易维护,多态是面对对象 的基本目标

但是当你需要需要对一个具体类操作的时候,这个时候如果是面对一个抽象类,那么就需要使用RTTI了,可以查询到具体类型

猜你喜欢

转载自blog.csdn.net/perfect_red/article/details/80369481