|
|
|
[VC++学习]《精通MFC》——第四章(I) 读书笔记
|
|
第四章 CObject类
4.1 概述
CObject的成员
类 别
成 员
说 明
构造函数
CObject
默认的构造函数
CObject
拷贝构造函数
operator delete
delete操作符
operator new
dew操作符
诊断
AssertValid
验证对象的完整性
Dump
诊断输出
序列化
IsSerializeble
测试是否可序列化此对象
Serialize
序列化
基本功能:不支持运行时类信息或序列化,但包含诊断内存管理;
基本功能加上运行时类信息支持;
基本功能加上运行时类信息和动态创建支持;
基本功能加上运行时类信息、动态创建和序列化支持。
用于序列化和运行时信息的宏:
使用的宏
CObject::IsKindOf
CRuntimeClass::
CreateObject
Carchive::operator>>
Carchive::operator<<
基本CObject功能
是
否
否
DECLARE_DYNAMIC
是
否
否
DECLARE_DYNCREATE
是
是
否
DECLARE_SERIAL
是
是
是
4.2 创建对象
直接构造
CObject的默认构造函数不带任何参数,另一个构造函数是拷贝构造函数:
CObject(const CObject& objectSrc);
CObject的派生类可以重写默认的构造函数,以初始化自己的特定成员:
演示代码: P98
这样就可以用下面的代码创建Family对象了:
CFamily family;
如果要限制通过默认构造函数创建对象,则可以将它声明为私有或受保护的:
class CFamily:public CObject
{
virtual ~CFamily();
//...
private:
CFamily();
private:
CString m_sWife;
CString m_sHusband;
};
派生类实现拷贝构造函数时,用传入的源对象的各个成员初始化自身的各个成员。
使用new操作符
|
|
|
|
|