![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||
| 怎样令到一个class可以有serialize能力... | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-7-1 ![]() |
|||||
|
正在装载数据…… ----例子来自MSDN---- 五个步骤: 1.这个对象(如CPerson)派生自CObject.(ClassWizard不能生成这种类,只能直接新建类) 2.重载Serialize 3.类定义里面要写入 DECLARE_SERIAL( CPerson ) (注意,没有分号) 4.要生成一个该类的构造函数,没有参数的. 5.类的实现里面要写入对应的 IMPLEMENT_SERIAL( CPerson, CObject, 1 ) 调用的方法:CDoc里面建立个CPerson类型的m_Obj,然后在CDoc的Serialize中有m_Obj.Serialize(ar) -------------CPerson.h------------------- class CPerson : public CObject -------------CPerson.cpp------------------- void CPerson::Serialize( CArchive& archive ){ // call base class function first // base class is CObject in this case CObject::Serialize( archive ); // now do the stuff for our specific class if( archive.IsStoring() ) archive << m_name << m_number; else archive >> m_name >> m_number;}IMPLEMENT_SERIAL( CPerson, CObject, 1 )
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|