正在加载图片...
第13单元文档读写与打印 下面以一个自定义的 Person类说明自定义类的序列化过程 例13-41声明一个 Person类,并使之支持序列化 程序: class CPerson: public Cob ject DECLARE SERIAL( CPerson) /身份证号码 /姓名 CString m strAtion;∥/民族 int //性别 nt //年龄 BOOL arri ed;//婚否 public CPerson& operator =(CPerson& person) void Serialize( CArchive& ar) IMPLEMENT SERIAL( CPerson, CObject, 1 CPerson& CPerson:: operator =(CPerson& person m INumber erson. m INumber m strName person m strName m strAtion =person. m strAtion person. m nAge m mArried erson. m mArried return *this } void CPerson: Serialize( CArchive& ar) COb ject: Serialize(ar);//首先调用基类的 Serialize o方法 if(ar. IsStoring o) ar < m strN ar < m strAtion ar < m sEx第 13 单元 文档读写与打印 - 262 - 下面以一个自定义的 Person 类说明自定义类的序列化过程。 [例 13-4] 声明一个 Person 类,并使之支持序列化。 程 序: class CPerson: public CObject { DECLARE_SERIAL( CPerson) LONG m_IDnumber; // 身份证号码 CString m_strName; // 姓名 CString m_strNation; // 民族 int m_nSex; // 性别 int m_nAge; // 年龄 BOOL m_bMarried; // 婚否 public: CEmployee(){}; CPerson& operator = (CPerson& person); void Serialize(CArchive& ar); }; IMPLEMENT_SERIAL( CPerson, CObject, 1 ) CPerson& CPerson::operator = (CPerson& person) { m_IDnumber = person.m_IDnumber; m_strName = person.m_strName; m_strNation = person.m_strNation; m_nSex = person.m_nSex; m_nAge = person.m_nAge; m_bMarried = person.m_bMarried; return *this; } void CPerson::Serialize(CArchive& ar) { CObject::Serialize( ar); // 首先调用基类的 Serialize()方法 if(ar.IsStoring()) { ar << m_IDnumber; ar << m_strName; ar << m_strNation; ar << m_nSex; ar << m_nAge;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有