代码示例:http://download.youkuaiyun.com/detail/nuptboyzhb/4147438
假设:
工程名为:My
文档类的成员变量:CObArray m_ObArray;
自定义类1:CShape (实现了自己的串行化)
自定义类2:CLine(从CShape派生出来,也实现了串行化)
m_ObArray通过自己的.Add函数,保存了一系列CShape类型的指针;而这些指针全部指向Cline对象的;
响应文档类的Serialize(CArchive& ar)——函数中执行CObArray 对象的Serialize函数——该函数执行依次执行一组对象的Serialize函数;
保存过程:

应用举例:
CFont *m_font;成员变量的串行化:
if (ar.IsStoring())
{
ar.Write(m_font,sizeof(CFont));
}
else
{
m_font=new CFont();
memset(m_font,0,sizeof(CFont));
ar.Read(m_font,sizeof(CFont));
}
本文深入探讨了C++中类的序列化技术,通过自定义类的实现,展示了如何在文档类中使用CObArray来保存一系列CShape指针,并通过Serialize函数进行序列化操作。详细阐述了成员变量的串行化过程,包括CFont类型的读写操作,提供了实际应用的代码示例。
4694

被折叠的 条评论
为什么被折叠?



