- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验九 基于文档视图结构的程序 20110502
实验九 /视图结构的程序
实验目的:
1.学习建立基于文档/视图结构的应用程序方法。
2.学习文档/视图结构应用程序的组成类(文档类CDocument与视图CView类)及在应用程序架构中的作用。
3.学习如何建立从CObject派生的类并实现对象的序列化操作。
实验内容:
本实例建立一个汽车管理的SDI应用程序,实现汽车信息的管理。设计一个对话框作为输入的界面,从对话框中输入汽车的车牌号,车型,车的颜色和车的最高时速信息,用文档保存汽车信息,用视图显示汽车信息。(提示:该程序采用MFC应用程序向导生成,它是一个SDI的应用程序CarManage,向导的每一步都用默认的选项。)
实验步骤:
1.构造汽车类CCar
本程序要在文档类存储汽车的信息,因此首先要构造一个汽车类CCar。? ????
1.1创建汽车类
(1)在ClassView面板中,右键单击顶端的“CarManage Classes”,在弹出的菜单中选择“New Class”选项。
(2)在“New Class”对话框中,Class Type选择“Generic Classes”,类名为CCar,单击“Base Class(es)”列表框的第一行,输入CObject作为基类。如图9.1所示。
(3)单击“OK”按钮,在接着出现的消息框中点击“OK”按钮,则在当前系统中增加了一个CCar类,这可以从ClassView中看到。
?
图9.1 创建CCar类
1.2汽车类CCar的构造
汽车类CCar是汽车对象的抽象,我们主要关心汽车的牌照号码、车型、颜色和最高时速,因此要设置相应的成员变量来保存这些属性;另外还要添加设置和获取这些属性的成员函数。
(1)在ClassView面板中,右键单击CCar类,在弹出的菜单中选择Add Member Variable,以增加成员变量。弹出图9.2所示的对话框。
(2)设置变量的类型为CString,变量名为m_CarNumber,访问权限为Private。
(3)重复同样的步骤(1)与(2),增加成员变量m_CarType、 m_MaxSpeed、m_Color
(4)在ClassView面板中,右键单击CCar类,在弹出的菜单中选择Add?? Member Function,以增加成员函数,弹出图9.3所示的对话框。
(5)设置函数的声明为
void SetCarValues(CString ,CString ,CString ,short )。单击“OK”按钮完成成员函数的增加。
(6)重复同样的步骤(4)与(5),增加其它的成员函数GetColor()、SetColor(CString )、 Serialize(CArchive ar)等。
图9.2增加成员变量图
图9.3增加成员函数
1.3汽车类头文件Car.h的主要内容
通过上面讲的步骤,会在汽车类的头文件Car.h中增加相应成员变量和成员函数的说明,当然用户也可以手工在该头文件中输入下列内容:
class CCar : public CObject?
{
?DECLARE_SERIAL(CCar); //类CCar声明为可以串行化的类
public:
CString? GetCarNumber(){return m_CarNumber;}
? void? SetCarNumber(CString CarNumber) {CarNumber=CarNumber;}
CString? GetCarType();?? //取车型
void SetCarType(CString ); //设置车型
??short GetMaxSpeed(); //取最高速度
void? SetMaxSpeed(short);//设置最高速度
??CString GetColor();//取车的颜色
void SetColor(CString ); //设置车的颜色
? void Serialize(CArchive ar); //串行化函数
?? void SetCarValues(CString ,CString ,CString ,short );
?//设置车的相关信息
CCar();?? //构造函数
CCar(CCar Car);?? //拷贝构造函数
virtual ~CCar();? //析构函数
private:
CString m_CarNumber;???? //???? 车牌号,如晋0211
CString m_CarType;?????????? //???? 车型,如高尔夫
short? m_MaxSpeed;???????? //???? 最高时速
CString? m_Color;???? ?? //?????? 车的颜色
};
?
1.4汽车类实现文件Ca
文档评论(0)