Need Of DECLARE_DYNAMIC?

Need Of DECLARE_DYNAMIC?

本文关键字:DYNAMIC DECLARE Of Need      更新时间:2023-10-16

DECLARE_DYNAMIC()用于获取RTTI,当一个类派生自CObject类时,我知道它。但是我在代码中看到,从CPropertySheet派生的类具有此宏。 -> 它有什么需要,因为既不使用 iskindof() 也没有使用任何其他运行时信息?

这个派生类有两个构造函数,在创建对象时通过new调用。

我的问题是这门课上DECLARE_DYNAMIC()需要什么?

使用此宏允许以 MFC 方式轻松进行类型检查。假设您有一个特殊的 CPropertyPage 基类,或者您有一个特殊的派生 CPropertySheet,其中包含一个名为 CMyClass 的特殊接口,您可以使用 DYNAMIC_DOWNCAST 轻松进行类型检查的强制转换。

所以快速的答案是:如果要将DYNAMIC_DOWNCAST或STATIC_DOWNCAST与MFC类型检查一起使用。它只允许使用IsKindOf。

它是DECLARE_DYNCREATE DECLARE_SERIAL DECLARE_DYNAMIC的最低形式。

堆栈溢出中,这里还有更多答案。