通常,大多数MFC(基于窗口的类)都是从CObject派生的。 CObject做什么? 为什么不需要从CObject派生某些MFC类?
答案 0 :(得分:4)
根据MSDN CObject
主要提供以下功能:
因此,如果不需要这些,则无需从CObject
派生
从DECLARE/IMPLEMENENT_SERIAL/DYNAMIC
派生时也会涉及一些开销(CObject
宏),因此可能有更简单的方法,而不是从CObject
派生。
答案 1 :(得分:3)
MFC文档非常清楚。 CObject的文档描述了它的作用(序列化支持,运行时类信息等)。
Hierarchy Chart是一个很好的概述,并显示哪些类不是从CObject派生的。
您可以得出结论,不从CObject派生的类是不需要它提供的服务的类。原因是多种多样的:例如像CFileTime这样的类是一种简单的数据类型。