DECLARE_DYNCREATE(class_name)的具体作用

DECLARE_DYNCREATE(class_name)的具体作用

首先还是看msdn的解释和这个语句的定义:

msdn的解释:

启用 CObject对象 --将动态创建的派生类在运行时。

DECLARE_DYNCREATE(class_name )

框架使用此功能动态创建新的对象。 例如,创建的新视图,当您打开新文档。 文档,查看,并且,框架类应支持动态创建,因为框架需要动态创建它们。

添加在 .h 模块的 DECLARE_DYNCREATE 宏类的,然后包括该模块在需要访问此类对象的任何 .cpp 模块。

如果 DECLARE_DYNCREATE 在类声明中,则类实现必须包含 IMPLEMENT_DYNCREATE


定义:

#define DECLARE_DYNCREATE(class_name) 


通过上面的解释:大致理解是使用这个DECLARE_DYNCREATE(class_name)可以使每个CObject的对象在运行的时候具备动态创建的能力。框架利用这种能力来创建对象,例如当它从磁盘读取一系列对象的时候,很多对象都需要动态的去创建。

msdn中解释道:在类的.H模块中加入DECLARE_DYNCREATE宏,然后在每个需要访问这个类的对象的.CPP模块中包含这个模块。

                       如果在类声明中包含了DECLARE_DYNCREATE,那么必须在类的实现中包含IMPLEMENT_DYNCREATE宏。

一句话概括:就是为了是cobject的对象在运行的时候具备动态创建的能力,如果在类声明加入了这句,在类的实现中必有有对应的IMPLEMENT_DYNCREATE宏,发现frm、view、doc的类的实现里均有对应的IMPLEMENT_DYNCREATE宏

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值