小编Sam*_*eer的帖子

使用多态存档提升序列化

我正在研究一个客户端 - 服务器应用程序,它使用boost :: serialization库来满足它的序列化需求.

我需要序列化和反序列化似乎不起作用的多态对象.文档确实说支持它,但没有相关的例子说明我在这里要做的事情.所以,我不太确定.我的问题是可以使用boost序列化/反序列化多态对象吗?如果是的话,我在这里做错了什么?

谢谢!

码:

using namespace std;  

class base {  
  public:
    int data1;  

    friend class boost::serialization::access;  

    void serialize(boost::archive::polymorphic_iarchive & ar, 
                   const unsigned int file_version) {  
        ar & data1;  
    }  

    void serialize(boost::archive::polymorphic_oarchive & ar, 
                   const unsigned int file_version){  
        ar & data1;  
    }  

  public:  
    base() {};  
    base(int _d) : data1(_d) {}  
    virtual void foo() const {std::cout << "base" << std::endl;}  
};  

class derived : public base {  
  public:  
    int data2;  

    friend class boost::serialization::access;  

    void serialize(boost::archive::polymorphic_iarchive & ar, 
                   const …
Run Code Online (Sandbox Code Playgroud)

c++ serialization boost

9
推荐指数
1
解决办法
6582
查看次数

标签 统计

boost ×1

c++ ×1

serialization ×1