I think you need to serialize the derive object by base pointer. e.g.: void Communication::sendRequest(BaseClass* request) // change to pointer here { // Open the file for write, and truncate. std::ofstream file(getFilename().c_str(), std::ios::trunc); // Use boost to serialize the object to the file. boost::archive::binary_oarchive archive(file); archive << request; // Close the file. file.close(); } void Communication::receiveRequest(BaseClass* request) // change to pointer here { // Open the file for read. std::ifstream file(getFilename().c_str()); // Use boost to serialize the object from the file. boost::archive::binary_iarchive archive(file); archive >> request; // Close the file. file.close(); } -- View this message in context: http://boost.2283326.n4.nabble.com/Derived-class-is-not-serialising-de-seria... Sent from the Boost - Users mailing list archive at Nabble.com.