#pragma once #include class Base //abstract { public: virtual ~Base( ) { } template void serialize(Archive & ar, const unsigned int version) { } }; class Main : public Base { friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::base_object(*this); ar & m_objects; } public: std::vector m_objects; Main( ) { } };