文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>25、深入浅出MFC学习笔记,Document-View再学习(2)

25、深入浅出MFC学习笔记,Document-View再学习(2)

时间:2011-02-27  来源:edwardlewiswe

2、Serializable的必要条件

    欲让一个对象有Serialize能力,它必须派生自一个Serializable类,一个类意欲成为Serializable,必须有下列五大条件:

  1)从CObject派生下来,如此以来可保有RTTI、Dynamic Creation等机能。

  2)类的声明部分必须有DECLARE_SERIAL宏。此宏需要一个参数:类名称。

  3)类的实现部分必须有IMPLEMENT_SERIAL宏。此宏需要三个参数:一是类名称,二是基类名称,三是schema no.。

  4)改写Serialize虚拟函数、使它能够适当地把类的成员变量写入档案中。

  5)为此类加上一个default构造函数(也就是无参之构造函数)。因为若一个对象来自档案,MFC必须先动态生成它,而且是没有任何参数的情况下调用其构造函数,然后才从档案中读出对象数据。

一个C++类如果希望有Serialization机制,它的第一件就是直接或间接派生自CObject,为的是继承下列三个运算符:[1,P399]

第二个就是使用SERIAL宏,并且在类声明中加上:

在类的应用程序文件中加上:

3、CArchive类是文件之前的一个内存缓冲区。

4、自定义SERIAL宏给抽象类使用[1,P401]。

参考

[1] 深入浅出MFC

[2] MFC Technical Notes

http://msdn.microsoft.com/en-us/library/h6h0eact%28VS.80%29.aspx

[3] http://www.cnblogs.com/mydomain/archive/2011/02/26/1966034.html

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载