追根究底,MFC六大关键技术剖析(第三部分)[6]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 liyi268 的 blog

pnewclass->m_pnextclass=cruntimeclass::pfirstclass;//新元素的m_pnextclass指针指向想加入的链表的表头。

cruntimeclass::pfirstclass=pnewclass;//链表的头指针指向刚插入的新元素。

好了,有了上面的链表,我们就可以分析动态创建了。

有一了张有类名,函数指针,动态创建函数的链表,我们就可以知道应该按什么步骤去动态创建了:1、获得一要动态创建的类的类名(假设为a)。2、将a跟链表里面每个元素的m_lpszclassname指向的类名作比较。3、若找到跟a相同的类名就返回a所属的cruntimeclass元素的指针。4、判断m_pfncreateobject是否有指向创建函数,有则创建对象,并返回该对象。代码演示如下(以下两个函数都是cruntimeclass类函数):

///////////////以下为根据类名从表头向表尾查找所属的cruntimeclass对象////////////

本文关键:追根究底,MFC六大关键技术剖析(第三部分)
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top