当前位置:编程学习 > C#/ASP.NET >>

关于一个MFC的简单问题?在线等!!!!

当我定义一个类继承于CDocument:
class CMyDoc:CDocument
{
    DECLARE_DYNCREATE(CMyDoc)
}


问题来了,由于CMyDoc间接继承于CObject,由于CObject具有动态生成、RTTI等特性,为什么在CMyDoc还要加上DECLARE_DYNCREATE(CMyDoc)
这句代码,这句代码的主要作用也是使CMyDoc类具有动态生成,RTTI等特性,这不就是发生功能重复了吗? --------------------编程问答-------------------- 高手帮我看一下 --------------------编程问答-------------------- 单独一个CObject不具有动态生成、RTTI等特性
得和一个CRuntimeClass以及一系列宏合起来才能完成这些功能 --------------------编程问答-------------------- 那深入浅出MFC中的一句话不就错误了:由于CDocument派生自CObject,所以它就有了CObject所支持的一切性质,包括RTTI、动态生成、档案读写。 --------------------编程问答-------------------- 我也想了解,谢谢LZ. --------------------编程问答-------------------- CRuntimeClass其实是一个类似如下的数据结构,而不是一个类,
struct CRuntimeClass
{
     CString szClassName;
     CRuntimeClass *pNext;
     CRuntimeClass *pPrev;
}

查找基类的操作就是沿着这张链表一路寻上去的,所以需要一个动作把它加入这个链表,
这个动作就封装在DECLARE_DYNCREATE(CMyDoc) 宏里。
补充:.NET技术 ,  VC.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,