首页 > 代码库 > 初识MFC----动态创建机制
初识MFC----动态创建机制
1、动态创建机制的作用
在不知道类名的情况下,将类的对象创建出来。
2、动态创建机制的使用
2.1类必须从CObject派生
2.2类内必须添加声明宏 DECLARE_DYNCREATE
2.3类外必须添加实现宏 IMPLEMENT_DYNCREATE
CRuntimeClass::CreateObject -负责创建类对象
3、动态创建机制的实现(相较于运行时类信息来说)
3.1多了一个静态函数 CDog::CreateObject
3.2静态变量的第四个成员不再为NULL,保存新增加的那个静态函数的地址
4、宏展开的各部分的作用
classCDog -静态变量,保存了关于类信息,负责连接链表,保存了静态函数的地址(CDog::CreateObject)
GetRuntimeClass() -虚函数,获取本类(CDog)的静态变量地址(链表头节点)
CreateObject() -静态函数,new了一个CDog类的对象并返回对象地址
5、动态创建机制的执行过程
5.1利用本类静态变量地址(&CDog::classCDog)调用CRuntimeClass结构体成员函数CreateObject
5.2在函数内部取出静态变量的第四个成员(CDog::CreateObject)并调用之
5.3在CDog::CreateObject函数内部new了一个CDog类的对象并返回对象地址。
初识MFC----动态创建机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。