正文

Visual C++学习笔记--MFC文件处理机制2006-07-09 02:17:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fouryears/16483.html

分享到:

1.永久性对象与序列化永久性对象:内存中的对象以文件的形式存入存储介质,而从介质中读入时,该对象又能恢复为原来的状态。序列化:能使对象成为永久性对象的机制。2.Serialize函数Serialize函数是CObject类提供的虚函数,凡是希望具有序列化能力的类,都必须以CObject类或其派生类为基类。由于应用程序的数据一般由文档对象来管理的,每当用户新建,打开或保存文档时,程序就会自动调用文档类对象的Serialize函数。3.对象的序列化对象的序列化的操作过程封装成了一个类CArchive,实际上把类信息表跟类对象打包成文件的工作就是由CArchive类的对象在Serialize函数中完成的。Serialize函数原型:virtual void Serialize(CArchive &ar);当需要存取或读取一个对象时,必须在Serialize函数中进行。例如某类A为永久化类,具体编码过程如下:Class A::CObject{ DECLARE_SERIAL(A);  //声明了序列化 private:  int m_X,m_Y;  ... public:  Serialize(CArchive&ar); //重写序列化虚函数};IMPLEMENT_SERIAL(A,CObject,1);  //实现序列化重写的序列化函数Serialize的实现:A::Serialize(CArchive&Aar){ if(ar.IsStoring())  //存储数据 {  ar<<m_X;  ar<<m_Y; } else    //读取数据 {  ar>>m_X;  ar>>m_Y: }}

阅读(3990) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册