declare_dyncreate?methord qualifier?vc6.0打开文件?DYNCREATE是为了“动

电脑杂谈  发布时间:2016-08-31 02:00:48  来源:网络整理

本版专家分:0

结帖率:100%

楼主 发表于: 2013-03-05 23:01:41


DEClARE_DYNAMIC是为了确定运行时对象属于哪一个类而定义的宏,。
declare_dyncreate/IMPLEMENT_DYNCREATE是为了“动态创建"类的实例而定义的宏。new可以用来创建对象,但不是动态的。比如说,你要在程序中实现根据拥护输入的类名来创建类的实例,下面的做法是通不过的:
charszClassName[60];
cin>>szClassName;
CObject*pOb=newszClassName;//通不过
这里就要用到declare_dyncreate/IMPLEMENT_DYNCREATE定义的功能了。

分享到:

| 举报 |

编辑 删除

管理

回复次数:2

本版等级:

本版专家分:12472

结帖率:0%

得分:60 回复于: 2013-03-05 23:27:16

框架中一个用处是与DECLARE_SERIAL配合,可以将支持动态创建的CObject类对象序列化到文件,这时会在文件中保存类名Cfoo等信息

程序打开时,可以反序列化文件,读出类名Cfoo,CRuntimeClass(“Cfoo”)->CreateObject生成对象,恢复程序状态

| 举报 |

编辑 删除

管理

本版等级:

本版专家分:0

结帖率:100%

得分:0 回复于: 2013-03-06 15:08:40

序列化要动态创建啊!!!!
引用1楼wocow3的回复:框架中一个用处是与DECLARE_SERIAL配合,可以将支持动态创建的CObject类对象序列化到文件,这时会在文件中保存类名Cfoo等信息

程序打开时,可以反序列化文件,读出类名Cfoo,CRuntimeClass(“Cfoo”)->CreateObject生成对象,恢复程序状态

| 举报 |

编辑 删除

管理

以上就是关于declare_dyncreate的全部内容,相信你一定会非常满意。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shenmilingyu/article-15562-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...