在MFC中,可以通过重写CObject类的Serialize()函数来实现类的序列化。下面是一个基于MFC的类的序列化示例:
class CMyClass : public CObject { DECLARE_SERIAL(CMyClass) public: CMyClass(); void Serialize(CArchive& ar); // 其他成员函数和变量的声明 }; IMPLEMENT_SERIAL(CMyClass, CObject, 1) CMyClass::CMyClass() { // 构造函数的实现 } void CMyClass::Serialize(CArchive& ar) { if (ar.IsStoring()) // 如果是存储操作 { // 将类的成员变量写入存档 ar << m_member1; ar << m_member2; // ... } else // 如果是加载操作 { // 从存档中读取并恢复类的成员变量 ar >> m_member1; ar >> m_member2; // ... } } CMyClass obj; CFile file(_T("data.dat"), CFile::modeCreate | CFile::modeWrite); CArchive ar(&file, CArchive::store); obj.Serialize(ar); ar.Close(); file.Close(); 以上示例演示了将类的数据序列化到文件中,你也可以使用存档的加载操作来从文件中读取数据并恢复类的状态。