在MFC中创建一个串行化的类

MFC串行化步骤
本文介绍了在MFC中实现类串行化的五个步骤:继承自CObject、重写Serialize函数、使用DECLARE_SERIAL宏、定义无参构造函数及使用IMPLEMENT_SERIAL宏。

首先插入一个新的类,类的类型为Generic Class(普通类),例如取名为CGeneric;

1.Deriving your class from CObject (or from some class derived from CObject).

在新的类的头文件中,把该类的基类修改成Cobject,例如:class CGeneric:public CObject

2.Overriding the Serialize member function.

覆盖成员函数void Serialize( CArchive& archive );在该函数中可实现数据的储存和读取,该函数与文档类中的成员函数

void Serialize( CArchive& archive )相同,当点击文件菜单的保存或者打开命令时,会调用文档类中的Serialize函数,

如果有可串行化的类,当文档类中的Serialize函数调用完成之后,会调用可串行化类中的Serialize函数

3.Using the DECLARE_SERIAL macro in the class declaration. 

在可串行化类中的声明后加入宏 DECLARE_SERIAL Macro,例如:DECLARE_SERIAL(CGeneric)

4.Defining a constructor that takes no arguments.

在可串行化类中定义一个无参数的构造函数,例如:CGeneric();

5.Using the IMPLEMENT_SERIAL macro in the implementation file for your class.

在可串行化类中的实现成员函数方法中,即类的cpp文件中,加入宏IMPLEMENT_SERIAL,例如:

IMPLEMENT_SERIAL(CGeneric,CObject,1);最后一个参数是版本号,当你储存时的版本号是1时,

如果你打开文件所用的版本号不是1,那么会弹出“不是预处理格式”。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值