c++面向对象课程设计
面向对象程序设计(C++)课程设计试验指导书
经济与工商管理学院
c++面向对象课程设计
本课程设计的目的、任务与要求
目的 通过本课程设计,使学生加深对面向对象程序设计思想的理解,理解事件编程的概念,为《JAVA程序设计》、《数据库设计及应用》等后续课程以及毕业设计打下坚实的程序设计基本能力基础。 任务 VC ++ 6.0的基本操作及简单的C++程序编写、调试与运行,用AppWizard进行MFC的设计,基本的文本和图形输出, 对话框和基本控件的使用。 要求
1、初步掌握C++开发工具的使用方法;
2、熟练掌握利用C++语言编写类和对象、继承机制以及多态机制的程序设计的方法和技能。
c++面向对象课程设计
实验一 VC++ 基础操作
Visual C++ 6.0 是MicroSoft公司开发的基于C/C++的集成工具,是面向对象的、可视化的软件开发环境。主要用于编写在Windows操作系统上运行的应用程序。包括编辑器、编译器、调试器、连接器和资源管理器等。另外,还提供了许多向导。用户可利用VC以两种方式编写Windows应用程序,一种是基于Windows API的C编程方式,另一种是基于MFC的C++编程方式。C编程方式是传统的、久经考验的编程方式,代码效率较高,但开发难度与开发工作量大。C++编程方式代码运行效率相对较低,但开发难度小,开发工作量小。在C++编程方式中,主要以MFC提供的许多类库,包括对话框、文档/视图结构、图形处理、鼠标消息处理、颜色的使用、滚动处理、文件读写、文档打印和多视图等作为基础。
用VC编写的面向对象的程序,仍可在MS-DOS环境下运行可执行程序,但这并不影响以后的MFC编程。
一 Visual C++中的源文件编辑及编译运行步骤
双击MicroSoft Visual C++ 6.0后 ,得到如图1所示的界面,点击菜单项
Step 1 of 图 1 VC++ 6.0 界面
中的文件(F),选择新建,则会出现图2所示的画面,在此画面中点击最上面一排中的 文件,则会出现图3所示画面。选择C++ Source 即C++源文件的存取路径,并给其命名(图4),则会出现源文件的编辑界面(图5)。
c++面向对象课程设计
图2 选择新建
图3
c++面向对象课程设计
图4 指定C++源文件的路径及名字
图5 C++源文件的编辑界面
c++面向对象课程设计
图6 在编辑界面下编辑C++ 源文件
图7 对C++ 源文件进行编译
对C++源文件进行编译后,若无错误,则会出现图8的界面,我们则可对其进行运行。运行后的结果如图10所示。
c++面向对象课程设计
图8 对C++源文件进行编译后的结果
图9 对运行编译后的文件
c++面向对象课程设计
图10 运行编译后的EXE 文件的结果
二 作业
1 输入5个整数,对其按从小到大的顺序排序后输出。 2 输入一十进制整数,将其转换为二进制整数后输出。
c++面向对象课程设计
实验二 用AppWizard进行MFC设计
一 API 与MFC
VC++ 是Windows平台下构建32位应用程序的有力工具,通过VC++ 6.0这个平台来编写Windows 应用程序时,面向对象程序设计中的消息传递机制和事件驱动特点才能得到充分的体现。
Windows 为我们开发Windows 应用程序提供了大量的函数,约有1000多种,这些函数被称之为API函数,即Application Program Interface 函数,这也是系统提供的函数,如同C++ 程序中各种头文件中的函数一样,它们都包含在头文件Windows.h中。
为减轻程序编写的困难,微软采取了面向对象的技术,将这些Windows API函数中的大部分都封装起来,形成了所谓的MFC库,(Microsoft Function Class Library)。
MFC 设计即是调用这些类库进行程序设计。即:Visual C++提供两套完整的Windows程序开发系统:
n 直接使用Windows提供的API 函数;
n 采用面向对象的方式,使用微软基础类库MFC 。
二 Windows程序的基本概念
窗口是Windows程序的基本操作单元,是应用程序与用户之间进行交互的接口,也是系统管理应用程序的基本单位。
编写应用程序其实就是创建一个或多个窗口,程序的执行过程是窗口内部、窗口与窗口之间以及窗口与系统之间进行数据交换与处理的过程。
Windows对象-----窗口、图标、光标、菜单及正在运行的应用程序实例等等。
句柄-----系统用来唯一标识某个Windows对象的一个无符号整数,相当于Windows对象的名字,应用程序只有通过句柄才能使用Windows对象 Windows中常用的句柄如下:
句柄类型 HANDLE HWND HINSTANCE HCURSOR HFONT HPEN
说 明 一般类型句柄窗口类型句柄程序实例句柄光标类型句柄字体类型句柄画笔类型句柄句柄类型 HBRUSH HDC HICON HMENU HBITMAP HFILE
说 明 画刷类型句柄 设备描述表类型句柄图标类型句柄 菜单类型句柄 位图类型句柄 文件类型句柄
事件-----在Windows环境下,应用程序启动后,系统等待用户在图形用户界面
c++面向对象课程设计
内的输入选择,如鼠标按键、键盘按键、窗口被创建、关闭、改变大小、移动等,对系统来说,这都是事件。
只要有事件发生,系统即产生特定的消息。消息描述了事件的类别,包含了相关信息,Windows应用程序利用消息与系统及其它应用程序进行信息交换。
每个消息都有唯一一个数值标识,常用不同前缀的符号常量以示区别。例如,WM_表示窗口消息 。
Windows常用的窗口消息和消息值定义于winuser.h中
#define WM_CREATE 0X0001 //创建窗口产生的消息 #define WM_DESTROY 0X0002 //撤销窗口产生的消息 #define WM_PAINT 0X000F //重画窗口产生的消息 #define WM_CLOSE 0X0010 //关闭窗口产生的消息
#define WM_CHAR 0X0102 //按下非系统键产生的字符消息 #define WM_USER 0X0400 //用户自定义消息
三 Windows应用程序的构成
构成:程序代码+用户界面资源+动态链接库DLL (dynamic-link library) 程序代码——主要由可执行代码构成 ;
资源——是应用程序所能够使用的一类预定义工具,如用户界面资源是应用程序定义的图形用户接口GUI (Graphical User Interface),如菜单、对话框、按钮等。资源说明
DLL 可以动态链接方式装载的库模块 常用资源列表
资 源 类 型说 明
快捷键(Accelerator)
位图(Bitmap) 对话框(Dialogbox) 图标(Icon) 菜单(Menu)
字符串表工具栏(Toolbar)
存储击键和命令组合
包括Windows匹配格式的图形 对话框控件细节、布局、属性 存储图标用位图组
菜单和菜单组文本和布局细节 存字符串和相关标识符(ID)值 工具栏布局细节和画按钮所用的位图
版本消息(Version 状态消息,如程序名,作者,拷贝日期information) 版本号等 光标(Cursor)
包括画光标用的特殊位图
c++面向对象课程设计
四 建立Windows应用程序
1 建立一空白的单文档Windows 应用程序
在 [文件] 中选择新建->工程,为工程选择好路径及名字,并选择Win32 AppWizard,按如下步骤进行操作。
c++面向对象课程设计
MFC AppWizard- Step 1 of 10
MFC AppWizard- Step 2 of 10
c++面向对象课程设计
MFC AppWizard- Step 3 of 10
MFC AppWizard- Step 4 of 10
c++面向对象课程设计
MFC AppWizard- Step 5 of 10
MFC AppWizard- Step 6 of 10
c++面向对象课程设计
MFC AppWizard- Step 7 of10
MFC AppWizard- Step 8 of 10
c++面向对象课程设计
MFC AppWizard- Step 9 of 10
MFC AppWizard- Step 10 of 10
这个Windows 应用程序的代码可在VC++ 6.0 中点开左下角的FILE 后查看。