本篇是
boost::serialization 用基类指针转存派生类(错误多多,一波三折)的姊妹篇,这里只不过做一个总结。
1.首先我们用一个宏来告诉boost base_class是一个抽象类
先来看一个基类
class base_class
{
public:
base_class(int m=0) : base_member_(0) {}
virtual ~base_class() {}
virtual void print_data() = 0;
protected:
int base_member_;
//other member...
};
它的一个模板派生类
template<typename T>
class divided_class : public base_class
{
public:
divided_class(int m = 0, T d = T()) : base_class(m), diveded_member_(d) {}
virtual ~divided_class() {}
protected:
T diveded_member_;
//other member....
};
现在我们来看怎样用boost::serialization来序列化模板类
1.首先我们用一个宏来告诉boost base_class是一个抽象类