八宝书库 > 文学其他电子书 > C语言实例教程(PDF格式) >

第57部分

C语言实例教程(PDF格式)-第57部分

小说: C语言实例教程(PDF格式) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



将 自身的当前数据保存到永久介质中,这些数据一般由其成员变量所 

提供;在需要的时候,对象还应该能够从永久介质中读出所保存的数 

据,并用这些数据来重建该对象。在本节中,我们只讨论最基本串行 

化操作,在  “8。3。5  串行化对象”  一节中描述了串行化对象和生成 

可串行化对象所需要的附加信息。  


…………………………………………………………Page 437……………………………………………………………

                                                                            



                             图8。7 保存文件时的串行化过程  



在文档/视结构实现中,串行化一般是重载文档对象的Serialize成员 

函数。在AppWizard创建应用程序框架的时候,生成了一个Serialize 

重载函数的框架,如下面的代码所示:  



void CExampleDoc::Serialize(CArchive& ar)  



{  



if (ar。IsStoring())  



{  



// TODO: add storing code here  



}  



else  



{  



// TODO: add loading code here  



}  



}  



图8。7描述了保存文档时的串行化过程。  


…………………………………………………………Page 438……………………………………………………………

                                     



               图8。8 打开文档时的串行化过程  



图8。8描述了打开文档时的串行化过程。  



由图8。7和图8。8可以看出,无论是保存文档或是打开文档,应用程序 

都是通过调用文档类的Serialize成员函数来完成串行化操作的。因 

此,在大多数情况下,我们都通过重载Serialize成员函数来实现文 

档的串行化。Serialize成员函数带有一个CArchive类型的参数,这 

是一个与所打开的文件相关联的对象。一般情况下,我们总是使用 

CArchive对象来保存和打开文档。  



一个CArchive对象和一个标准的C++输入/输出流相类似,可以使用 

C++析取运算符》》和插入运算符var和ar

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的