首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要DECLARE_DYNAMIC吗?

需要DECLARE_DYNAMIC吗?
EN

Stack Overflow用户
提问于 2016-03-02 15:02:24
回答 1查看 475关注 0票数 0

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

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

我的问题是,在这个课程中,DECLARE_DYNAMIC()有什么需求?

EN

回答 1

Stack Overflow用户

发布于 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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35740528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档