DECLARE_DYNAMIC()是用来获取RTTI的,当一个类从CObject类派生出来的时候,我就知道了。但我在代码中看到,一个从CPropertySheet派生的类有这个宏。->它的需求是什么,因为它既不是iskindof(),也不使用任何其他运行时信息?
这个派生类有两个构造函数,在创建对象时通过new调用。
我的问题是,在这个课程中,DECLARE_DYNAMIC()有什么需求?
发布于 2016-03-02 16:37:44
此宏的使用允许以MFC方式进行简单的类型检查。假设你有一个特殊的CPropertyPage基类,或者你有一个特殊的派生CPropertySheet,它有一个名为CMyClass的特殊接口,你可以很容易地用DYNAMIC_DOWNCAST进行类型检查。
因此,快速的答案是:如果您想使用DYNAMIC_DOWNCAST或STATIC_DOWNCAST进行MFC类型检查。它只允许使用IsKindOf。
它是三元组DECLARE_DYNAMIC,DECLARE_DYNCREATE,DECLARE_SERIAL的最低形式。
此外,在堆栈溢出中还有更多关于此的answers。
https://stackoverflow.com/questions/35740528
复制相似问题