《C++序列化.doc》由会员分享,可在线阅读,更多相关《C++序列化.doc(4页珍藏版)》请在三一办公上搜索。
1、C+序列化小弟刚接触C+,诚心求教C+序列化的问题,不知道C+在序列化方面都有什么样的类库,都是怎么用的?比如我有这么一个类,我该如何序列化?struct Nodeint index;std:vector num;class Datapublic:int id;std:string namestd:vector list;public:CatalogNode(void);CatalogNode(void);解答实现序列化的类必须满足下列条件:1. 该类需要从CObject类派生(可以是间接派生);2. 在类中中进行DECLARE_SERIAL宏定义;3. 类存在有缺省的构造函数;4. 类中实现
2、了Serialize()函数,并且在其中调用基类的序列化函数;5. 使用IMPLEMENT_SERIAL宏指明类名及版本号; .h struct Node int index; std:vector num; class CatalogNode : public CObject DECLARE_SERIAL(CatalogNode ) public: int id; std:string name std:vector list; public: CatalogNode(void); CatalogNode(void); void Serialize(CArchive&ar); / 序列化函数 ; .cpp IMPLEMENT_SERIAL(CatalogNode ,CObject,0) void CatalogNode :Serialize(CArchive &ar) if(ar.IsStoring()/数据写操作 arid; arid; arname ; CObject: Serialize(ar); 感想:当初不知道啥叫序列化,直到学了java才了解到