CRectangle类的.cpp文件添加代码如下 。
IMPLEMENT_SERIAL(CRectangle,CFill, 0)
void CRectangle::Serialize(CArchive &ar)
{
CFill::Serialize(ar);
if(ar.IsStoring())
ar << m_TopLeft << m_BottomRight ;
else
ar >> m_TopLeft >> m_BottomRight ;
}
(2)在绘图过程中生成的每个图形对象都被加入到CObList类的对象m_FigureList(图元对象链表)中 。
CObList类属于集合类,所有的集合类都是从CObject类派生出来的,并且集合类声明中都包含有DECLARE_SERIAL宏调用,因此可以通过调用集合类的Serialize成员函数,方便地完成集合的序列化 。可以加下群466572167(群内有C/C++的学习资料以及各类型的项目学习资料)
在文档派生类文件MyDrawSystemDoc.cpp中添加代码如下 。
void CMyDrawSystemDoc::Serialize(CArchive& ar)
{
m_FigureList.Serialize(ar); //图元对象链表序列化
if (ar.IsStoring())
{
// TODO: add storing code here
}
else
{
// TODO: add loading code here
}
}
编译、连接并运行程序,可以看到程序已经具有了序列化功能 。
文章插图
秒懂生活扩展阅读
- 一望无垠到天边是什么生肖
- 三角形的关系是什么
- 麦字的音节是什么
- 醉看单数一个五是什么生肖
- 对方微信号已被限制登录是什么意思
- 氧气美女是什么意思
- 支付宝天天有料是什么意思?怎么赚钱的?
- 福临门是什么牌子的
- 萝卜放久了会空心是什么原因
- N次贴是什么垃圾