WEB开发网
开发学院软件开发VC 使用 MFC 串行化数据和 C++ 对象 阅读

使用 MFC 串行化数据和 C++ 对象

 2009-03-07 20:02:29 来源:WEB开发网   
核心提示: 这样就将数据写入了文件,选择“File”菜单中的“Save”或者“Save as”即可完成数据的串行化,使用 MFC 串行化数据和 C++ 对象(2), 如果没有保存数据,退出程序是会提示用户是否保存修改过的数据,无论

这样就将数据写入了文件,选择“File”菜单中的“Save”或者“Save as”即可完成数据的串行化。 如果没有保存数据,退出程序是会提示用户是否保存修改过的数据。具体细节请参考源代码。

串行化C++对象

——例子程序:PHN

创建一个新的单文档 SDI 应用,视图类选择 CFormView,以便可以有窗口中用户可以输入。

声明一个要串行化的 C++ 类。如 CPhone;

文档类的处理:

在文档类中声明一个 MFC CObList 类对象,这个类很有用,功能也很强,用它可以很轻松地维护 C++ 对象列表,例如 添加、删除列表元素等。在文档类的头文件中作如下声明:

CObList m_PhoneList;

上面的声明可以是 public 类型,这样其它类可以直接访问它。也可以是 private 类型,这样就必须声明一个公共的访问函数,比如:GetPhoneList(),这个函数能返回 m_PhoneList 的地址。

通常可以在文档类的 OnNewDocument()函数中进行数据初始化;


// Create a CPhone Object

CPhone* pPhone = new CPhone();

pPhone->m_Name = "";

pPhone->m_Phone = "";


// Add new object to the m_PhoneList list

m_PhoneList.AddHead(pPhone);

在此 CPhone 类的成员变量的初始化不是必须的,因为 CPhone 的构造函数已经完成了这个工作。AddHead()函数向 m_PhoneList 列表添加刚创建的 CPhone 对象。所以,无论什么时候创建新文档(如启动应用程序)都会向 m_PhoneList 列表中添加一个空的 CPhone 对象。注意类 CObList 的成员函数 AddHead() 是向列表的“头部”添加对象(列表的开始),所以参数是想要添加的对象的地址。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 MFC 串行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接