MFC库中CObject是一个最基本最主要的基类,提供了基本的服务,包括(要求包含头文件:#include<afx.h>
):
· 支持串行化
· 运行类信息
· 对象诊断输出
· 与收集类兼容
我们一般都会使用到两种层次的宏:
- DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC(动态声明和动态实现),表示允许在各个派生层次中运行时访问类名及位置。
- DECLARE_SERIAL和IMPLEMENT_SERIAL(串行化声明和串行化完成),包含了第一种宏的所有功能,并且能够使已存档的对象串行化。
CObject类中的成员有:
构造函数
- CObject 缺省的构造函数
- CObject 拷贝构造函数
- operator new 特别的new操作
- operator delete 特别的delete操作
- operator = 赋值操作
诊断
- AssertValid 证实该对象的完整性
- Dump 进行该对象的诊断转储
串行化
- IsSerializable 测试该对象是否被串行化
- Serialize 从存档中装载或向存档中存储某对象
多面性
- GetRuntimeClass 返回对应该对象类的CRuntimeClass结构
- IsKindOf 测试该对象是否与指定类相关联