boost::serialization
И примеров и описаний и уроков - куча!
Но нельзя написать "сериализуй мне класс, живо!", а придётся самостоятельно написать, что именно и в каком порядке будет сериализоваться/десериализовываться. Возможна сериализация в бинарный и текстовый (xml) форматы.
Есть нативная поддержка именно std::string. Для полиморфной сериализации потребуется чуть больше информации предоставить, но тоже есть поддержка.