RTTI机制

使用 DECLEAR_DYNAMIC、IMPLEMENT_RUNTIMECLASS宏和CRuntimeClass结构体实现。

1、CRuntimeClass用于保存类的信息,包括自己的类名称,指向父类CRuntimeClass的指针,指向前生成类(不一定是父类)的CRuntimeClass的指针。CRuntimeClass还保存一个static类型的指向最后生成类的CRuntimeClass的指针。

2、DECLEAR_DYNAMIC、IMPLEMENT_RUNTIMECLASS宏

  这两个宏用于初始化CRuntimeClass的信息。

3、以后,如果要比较两个类的关系,直接操作两个类的CRuntimeClass即可。

以上,即是MFC的RTTI机制的原理。

原文地址:https://www.cnblogs.com/xuxu8511/p/3042461.html