MFC 动态创建

MFC中经常只需要构建类,程序就可以运行了,并没有看到创建对象的过程。那么对象是如何创建的呢?

这就是动态创建机制。

动态创建允许,MFC自动为你编写的类创建对象,因此,在编写代码过程中只需进行类的编辑。

为了实现自动创建对象必须在每个类中建立一个结构体,这个结构体主要记录了类的几个信息:类名,几个指针,构建函数。

指针用于把程序中所有的类(包括你创建的和MFC自动创建的类)串联起来,在整个程序中建立一张类的链表。需要指出,这种串联既是横向也是纵向的。横向是指,每一个类都会按照构建次序连起来(pfirst 和pnext的串联)。纵向是指,结构体中还有一个指针指向该类的父类。这是为了方便查询出类的派生关系。

构建函数,用于构造类的对象。

有了这些准备,动态创建就很容易了。例如要求在主程序中,提供一个类名,创建该类的对象。那么只需要编写一个搜索函数,有了类的链表,搜索函数很容易搜索出所对应的类,搜索成功后,调用该类中的构建函数,就可以产生对象。

最后指出,所有这些动态创建的工作,都是隐藏在宏中,所以,怎么找代码都看不见。话说,MFC的宏确实带来了视觉上的简洁性,然而这宏也太晦涩了,跟迷宫一样。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值