ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:1.05MB ,
资源ID:8688122      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8688122.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++课内实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++课内实验报告.docx

1、C+课内实验报告C+课内实验报告学生姓名:刘世江2011309010219及 学 号:学 院:理学院班 级:信计112课程名称:C+实验题目:用ClassWizard设计类指导教师姓名及职称:朱振菊 实验师方 向 实验师 2013年05月28日一、实验题目:用ClassWizard设计类二、实验目的:1熟悉Visual C+ 6.0集成开发环境.2熟悉ClassWizard各选项卡的内容及使用方法。3学习使用ClassWizard设计新类,增加新的成员。三、实验内容:1将书中例题9.13程序中的display函数不放在Time类中,而作为类外的普通函数,然后分别在Time和Date类中将dis

2、play声明为友元函数。在主函数中调用display函数,display函数分别引用Time和Date两个类的对象的私有数据,输出年、月、日和时、分、秒。请给出源程序、简单注释以及运行结果。源程序和注释:#include /引用头文件及命名空间class Date; /对Date类的提前引用声明class Time /定义Time类public: /声明共用部分 Time(int,int,int); /公用成员函数原型声明 friend void display(Date &,Time &); /定义dispay为类Time的友元函数private: /声明私有部分 int hour; int

3、 minute; int sec;class Date /定义Date类public: /声明共用部分 Date(int,int,int); /公用成员函数原型声明 friend void display(Date &,Time &); /定义dispay为类Date的友元函数private: /声明共用部分 int month; int day; int year;Time:Time(int h,int m,int s) /定义类Time的构造函数 hour=h; minute=m; sec=s;void display(Date &d,Time &t) /定义display函数 coutd

4、.month/d.day/d.yearendl; coutt.hour:t.minute:t.secendl;Date:Date(int m,int d,int y) /定义类Date的构造函数 month=m; day=d; year=y;int main() /定义主函数 Time t1(10,13,56); /定义并初始化Time型的类t1 Date d1(12,25,2004); /定义并初始化Date型的类d1 display(d1,t1); /调用函数display输出时间和日期 return 0; /返回一个值运行结果见实验结果图1。2熟悉ClassWizard应用程序的启动首先

5、利用AppWizard应用程序按照如下步骤来创建应用程序的文件:1)从文件(File)菜单上选择“新建(New)”命令来激活AppWizard应用程序;2)敲入如shiyan03作为工程名,并将该工程创建在自己的目录下;3)用鼠标选择MFC AppWizard(exe)项,按下OK按钮;4)按默认设置选择Finish按钮。Visual C+6.0启动后ClassWizard在主菜单中是不可见的,它必须在打开一个工程后,才在“视图(View)”菜单中出现。可以从集成开发环境中启动ClassWizard:首先打开上面创建的工程shiyan03.dsw,下拉“视图(View)”菜单,然后选择“建立类

6、向导(ClassWizard)”(或者按快捷键Ctrl W),此时会弹出MFC ClassWizard对话框。该对话框包含以下选项卡:1)Message Maps 选项卡;2)Member Variables选项卡;3)Automation选项卡;4)ActiveX Events选项卡;5)Class Info 选项卡。弹出每个选项卡,截图并查找资料对每个选项卡内容的功能进行说明。往视图类中加入成员函数下面我们加进成员函数来实现以下功能,在视图窗口中跟踪鼠标的当前位置,并且在视图的左上角处显示出鼠标的坐标值。这一特性需要用成员函数OnMouseMove来控制Windows消息WM_MOUSEM

7、OVE。激活ClassWizard应用程序,选中Message Maps选项卡,并从Class name框中选择类Cshiyan03View。现在再从Object IDs列表中选择Cshiyan03View,此时Message列表框显示出能够被视图类Cshiyan03View控制的所有消息。从Message列表框中选择消息WM_MOUSEMOVE,此时Add Function按钮变亮,单击Add Function按钮,使名字OnMouseMove ON_WM_MOUSEMOVE出现在Member Functions列表框中。单击确定(OK)按钮完成设定。按要求修改成员函数OnMouseMove

8、的代码。选择ClassView选项卡,单击Cshiyan03View左边的“+”号;双击OnMouseMove(UINT nFlags, CPoint point)。加入如下代码:char buff10;CClientDC dc(this);sprintf(buff,%03d,%03d,point.x,point.y);dc.TextOut(20,20,buff,strlen(buff);同时去掉代码:CView: OnMouseMove(nFlags,point);单击“组建(Build)”进行编辑,再选择“执行(Execute)”后运行,抓图显示你的运行结果。四、实验结果:图1 第1题运行

9、结果Message Maps选项卡:它是ClassWizard对话框中最重要的选项卡,主要完成创建新类、添加、删除消息处理函数等任务。该选项卡中包含了两个下拉列表框:Project下拉列表框和Class name下拉列表框;三个列表框:Object IDs列表框、Message列表框和Member functions列表框;一个文本信息框;四个工具按钮。Project下拉列表框:该下拉列表框用于选择当前操作的项目。当当前打开的工作区中包含多个项目文件时,用户可以从这个下拉列表框中选择将要操作的项目文件。对于单项目工作区来说,其默认值就是项目文件。Class name下拉列表框:该下拉列表框用于

10、选择当前要操作的类。当用户在Class name下拉列表框中选中了某个类之后,Object IDs窗口中的内容将会发生相应的变化。Object IDs列表框:该列表框用于显示当前选定类中能够产生消息的对象的ID值。这些对象包括菜单选项、工具栏按钮选项、对话框以及各种控件等。通常Object IDs列表框中所包含的第一个对象就是当前类名。Message列表框:Message列表框中列出了对应于Object IDs列表框中所选中的当前项可以处理的消息以及可被重写的MFC虚函数。当Object IDs列表框中选定当前类名时,Message列表框前部分显示的是当前类所能覆盖的虚拟函数,后部分显示的是能

11、够处理的消息。如Object IDs列表框中选定其它对象,则Message列表框显示的就是当前项可以处理的消息。Member functions列表框:Member functions列表框中列出了在Class name下拉列表框中所选中的当前类包含的所有成员函数。其中用字母“V”标出的是MFC虚函数,用字母“W” 标出的是Windows消息处理函数。文本信息框:在Project下拉列表框的下方有一个文本信息框,用于显示当前选中类的源文件,包括.h文件和.cpp文件。该文本信息框中显示的内容会随着选定类的变化而变化。Add Class按钮:该按钮用于向当前的Project中添加一个新类,新类可

12、以是自己创建,也可以是从已有的文件中选取。Add Function按钮:该按钮用于向当前选定类中为当前选定的消息添加一个消息处理函数。其中类是在Class name下拉列表框中选定的类;而当前消息则是在Message列表框中选定的消息。Add Function按钮平时是灰化禁止的,只有当用户在Message列表框中选中某个特定的消息之后,该按钮才能正常显示,即此时才能使用。Delete Function按钮:该按钮用于在当前选定的类中删除已有的成员函数。Delete Function按钮平时是灰化禁止的,只有当用户在Member functions列表框中选中某个消息处理函数之后,才能选择该按

13、钮。Edit Code按钮:单击该按钮将打开编辑窗口,并将光标位置自动跳到当前选定的成员函数的源代码处。图2 Message Maps选项卡Member Variables选项卡:该选项卡主要用于添加与对话框中的控件相关联的成员变量,以便程序能利用这些成员变量与对话框中的控件进行数据交换。该选项卡与Message Maps选项卡一样,也包含Project下拉列表框和Class name下拉列表框,分别用于选定用户操作的当前项目和当前类;Add Class按钮用于向当前项目中添加一个新类;一个文本信息框,用于显示当前选中类的源文件。此外,Member Variables选项卡中还包含另一个列表框

14、以及另外四个工具按钮。列表框中共有3列数据,分别为:Control IDs:该项显示了当前选定类中能够映射成员变量的控件的ID值。所谓能映射成员变量的控件,就是可以使用类中的成员变量来代表某个控件,当控件发生改变时,该成员变量的值也发生相应变化。Type:该项表示成员变量的类型。Member:该项表示成员变量的名字。注意:并不是所有的类都有这些信息,只有在选择了对话框类、有格式视图类或记录视图类时才能显示出这些信息。Add Variable按钮:该按钮用于为当前选定的控件添加一个成员变量。Delete Variable按钮:该按钮用于删除一个现有的成员变量。该按钮平时是灰化禁止的,只有当用户在

15、Control IDs列表框中选中某个成员变量以后,才能选择该按钮执行删除工作。Update Columns按钮:该按钮用于选定一个数据源,只在记录集合类中才可以使用。Bind All按钮:只适用于记录集合类,单击此按钮将把所有未绑定的记录集里的数据成员绑定到数据源的一个表中相应的列上。在默认情况下,MFC AppWizard和ClassWizard将绑定所有的列,所以很少需要使用数据绑定。如果通过删除相关的数据成员将一些或所有列取消绑定,那么在这之后还可以重新绑定它们。图3 Member Variables选项卡Automation选项卡:该选项卡允许用户加入方法或属性以增强Automation功能。图4 Automation选项卡ActiveX Events选项卡:该选项卡允许用户加入事件以支持ActiveX控件。图5 ActiveX Events选项卡Class Info选项卡:该选项卡用于显示和设置当前选定类中的一些重要信息。图6 Class Info 选项卡图7 第2题运行结果五、实验思考及体会:本次实验我基本了解了一些C+开发的方法,巩固了关于友元函数和友元类的课堂知识,了解到了C语言和C+的一些新的不同点。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1