#ifndef _BASE_CLASS_ #define _BASE_CLASS_ class BaseClass { public: virtual ~BaseClass() {} void setId(int id); int getId(); protected: BaseClass(int id = 0) : m_id(id) {} virtual void what(); private: int m_id; friend class boost::serialization::access; template void serialize(Archive &archive, const unsigned int version) { what(); std::cout << "BOOST: I am in BaseClass::serialize" << std::endl; archive & m_id; } }; #endif // _BASE_CLASS_