我正在研究一个客户端 - 服务器应用程序,它使用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)