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对象////////////