程序员之家 >> 文章 >> 开发语言 >> VC++
VC++——小编浅谈VC中定制串行化
作者:娜   来源:程序员之家   发布者:admin
时间:2009-11-10 11:06:10   点击:923

 前面编辑器的例子使用CString的字符串来保存文本行,由于它是MFC类,因此可以串行化自己,将自己写入磁盘或从磁盘文件中读取二进制数据来建立对象。那么,如果不是标准的MFC类,比如用户自己定义的类,如何让它支持串行化呢?下面,小编就和大家一起分享下。

 

  要让用户定义的类支持串行化,一般分为五步:

 

1.CObject或其派生类派生出用户的类

 

2.重载Serialize()成员函数,加入必要的代码,用以保存对象的数据成员到CArchive对象以及从CArchive对象载入对象的数据成员状态。

 

3.在类声明文件中,加入DECLARE_SERIAL。编译时,编译器将扩充该宏,这是串行化对象所必需的。

 

4.定义一个不带参数的构造函数。

 

5.在实现文件中加入IMPLEMENT_SERIAL宏。

 

class CRegister:public CObject

 

{

 

public:

 

DECLARE_SERIAL( CRegister)

 

//必需提供一个不带任何参数的空的构造函数

 

CRegister(){};

 

public:

 

CString strIncome;

 

CString strKind;

 

BOOL bMarried;

 

CString strName;

 

int nSex;

 

CString strUnit;

 

int nWork;

 

UINT nAge;

 

void Serialize(CArchive&);

 

};

 

希望小编的分享能够带给大家帮助。

转载请注明出处:  程序员之家  http://www.sunxin.org

最新文章
点击排行