This is a big question:
Two ways,one easy one hard.
easy way:use MFC provided serilize functions.
hard way:use RTTI,run time type information.
In fact the easy way is also base on hard way,just MS take care of it for you.
BTW,RTTI is already the ANSI C++ standard,so feel free to use that.And u needn't relie on MFC which measn you can port it to NON MFC compiler,such like g++.
持久对象的实质意义是在存储时保存对象的运行时信息,在读入时自动恢复对象的运行时信息,以保持对象的状态和行为与保存前一致。比如,一个保存有指向其它对象的指针的对象在存储时不仅要存储其自身,还要保存其相关对象和两者间的关系。
MFC为实现持久对象提供了简单的支持,就是使用DECLARE_SERIAL和IMPLEMENT_SERIAL宏。MSDN中有一篇技术文章详细讨论了这两个宏的使用及实现持久对象的一些考虑,文章的名字叫Persistent Object Data Format。