文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C++序列化(转)

C++序列化(转)

时间:2011-05-11  来源:天堂大鸟

实现序列化的类必须满足下列条件:
1. 该类需要从CObject类派生(可以是间接派生);
2. 在类中中进行DECLARE_SERIAL宏定义;
3. 类存在有缺省的构造函数;
4. 类中实现了Serialize()函数,并且在其中调用基类的序列化函数;
5. 使用IMPLEMENT_SERIAL宏指明类名及版本号;
C/C++ code


.h
struct Node 
{ 
      int index; 
      std::vector <int> num; 
} 
class CatalogNode : public CObject
{ 
    DECLARE_SERIAL(Data)
public: 
    int id; 
    std::string name 
    std::vector <Node> list; 
public: 
    CatalogNode(void); 
    ~CatalogNode(void); 
    void Serialize(CArchive&ar); // 序列化函数
};

.cpp

IMPLEMENT_SERIAL(CatalogNode ,CObject,0)

void CatalogNode ::Serialize(CArchive &ar)
{
    if(ar.IsStoring())//数据写操作
    {
        ar<<id;
        ar<<name ;

     }
     else   //数据读操作
    {
       ar>>id;
       ar>>name ;
    }
    CObject:: Serialize(ar);
}


相关阅读 更多 +
排行榜 更多 +
幸存者的命运

幸存者的命运

飞行射击 下载
精英战区3d

精英战区3d

飞行射击 下载
货运猎人

货运猎人

飞行射击 下载