《面向对象程序设计(C++)》实验指导书山东理工大学计数学与统计学院2008年09月
《面向对象程序设计(C++)》 实验指导书 山东理工大学计数学与统计学院 2008 年 09 月
目录第一部分VisualC++实验环境介绍.2一、VisualC++简介21.VisualC++集成开发环境(IDE)22.向导(Wizard)23.MFC库.3二、项目开发过程.3三、集成开发环境,四、常用功能健及其意义,5第二部分上机实验内容6实验一类和对象,6实验二派生类与继承10实验三多态性...15实验四运算符重载.17实验五模板与异常处理...20实验六标准库和输入/输出流,..22实验七综合应用—一利用指针、模板设计通用链表以及类。..25实验八用VC制作自己的屏幕保护.26.26一、程序代码编写提示.二、代码编译调试..57.63三、制作你自己的屏保.附录程序编写风格规范参考,67
1 目 录 第一部分 Visual C++实验环境介绍.2 一、Visual C++简介 . 2 1.Visual C++集成开发环境(IDE) . 2 2.向导(Wizard) . 2 3.MFC 库 . 3 二、项目开发过程 . 3 三、集成开发环境 . 4 四、常用功能健及其意义 . 5 第二部分 上机实验内容 .6 实验一 类和对象 . 6 实验二 派生类与继承.10 实验三 多态性 .15 实验四 运算符重载 .17 实验五 模板与异常处理 .20 实验六 标准库和输入/输出流 .22 实验七 综合应用——利用指针、模板设计通用链表以及类 .25 实验八 用 VC 制作自己的屏幕保护 .26 一、程序代码编写提示 .26 二、代码编译调试 .57 三、制作你自己的屏保 .63 附录 程序编写风格规范参考 .67
第一部分VisualC++实验环境介绍一、VisualC++简介VisualC++是Microsoft公司的VisualStudio开发工具箱中的一个C++程序开发包。VisualStudio提供了一整套开发Internet和windows应用程序的工具,包括VisualC++,VisualBasic,VisualFoxProVisualInterDev,VisualJ++以及其他辅助工具,如代码管理工具VisualSourceSafe和联机帮助系统MSDN。VisualC++包中除包括C++编译器外,述包括所有的库、例子和为创建windows应用程序所需要的文档。从最早期的1.0版本,发展到最新的6.0版本,VisualC++已经有了很大的变化,在界面、功能、库支持方面都有许多的增强。最新的6.0版本在编译器、MFC类库、编辑器以及联机帮助系统等方面都比以前的版本做了较大改进。VisualC++一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。实验中可以使用这三个版本的任意一种。1.VisualC++集成开发环境(IDE)集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的工具集成在一起的用于开发应用程序的软件系统。visualC++软件包中的DeveloperStudio就是一个集成开发环境,它集成了各种开发工具和VC编译器。程序员可以在不高开该环境的情况下编辑、编译、调试和运行一个应用程序。IDE中还提供大量在线帮助信息协助程序员做好开发工作。DeveloperStudio中除了程序编辑器、资源编辑器、编译器、调试器外,还有各种工具和向导(如Appwizard和Classwizard),以及MFC类库,这些都可以帮助程序员快速而正确地开发出应用程序。2.向导(Wizard)向导是一个通过一步步的帮助引导你工作的工具。DeveloperStudio中包含三个向导,用来帮助程序员开发简单的windows程序,它们是:Appwizard:用来创建一个windows程序的基本框架结构。Appwizard向导会一步步向程序员提出间题,询问他所创建的项目的特征,然后Appwizard会根据这些特征自动生成一个可以执行的程序框架,程序员然后可以在这个框架下进一步填充内容。Appwizard支持三类程序:基于视图/文档结构的单文档应用、基于视图/文档结构的多文档应用程序和基于对话框的应用程序。也可以利用Appwizard生成最简单的控制台应用程序(类似于DOS下用字符输入输出的程序)。2
2 第一部分 Visual C++实验环境介绍 一、Visual C++简介 Visual C++是 Microsoft 公司的 Visual Studio 开发工具箱中的一个 C++程序开发包。 Visual Studio 提供了一整套开发 Internet 和 Windows 应用程序的工具,包括 Visual C++, Visual Basic, Visual FoxPro, Visual InterDev, Visual J++以及其他辅助工具,如代 码管理工具 Visual SourceSafe 和联机帮助系统 MSDN。Visual C++包中除包括 C++编译器 外,还包括所有的库、例子和为创建 Windows 应用程序所需要的文档。 从最早期的 1.0 版本,发展到最新的 6.0 版本,Visual C++已经有了很大的变化,在 界面、功能、 库支持方面都有许多的增强。最新的 6.0 版本在编译器、MFC 类库、编辑器以 及联机帮助系统等方面都比 以前的版本做了较大改进。 Visual C++一般分为三个版本:学习版、专业版和企业版,不同的版本适合于不同类 型的应用开发。 实验中可以使用这三个版本的任意一种。 1.Visual C++集成开发环境(IDE) 集成开发环境(IDE)是一个将程序编辑器、编译器、调试工具和其他建立应用程序的 工具集成在一起 的用于开发应用程序的软件系统。Visual C++软件包中的 Developer Studio 就是一个集成开发环境,它集 成了各种开发工具和 VC 编译器。程序员可以在不离开该环境 的情况下编辑、编译、调试和运行一个应用程 序。IDE 中还提供大量在线帮助信息协助程序 员做好开发工作。Developer Studio 中除了程序编辑器、资 源编辑器、编译器、调试器外, 还有各种工具和向导(如 AppWizard 和 ClassWizard),以及 MFC 类库, 这些都可以帮助程 序员快速而正确地开发出应用程序。 2.向导(Wizard) 向导是一个通过一步步的帮助引导你工作的工具。Developer Studio 中包含三个向导, 用来帮助程序 员开发简单的 Windows 程序,它们是: AppWizard:用来创建一个 Windows 程序的基本框架结构。AppWizard 向导会一步步向 程序员提出问 题,询问他所创建的项目的特征,然后 AppWizard 会根据这些特征自动生成 一个可以执行的程序框架,程 序员然后可以在这个框架下进一步填充内容。AppWizard 支持 三类程序:基于视图/文档结构的单文档应用、 基于视图/文档结构的多文档应用程序和基 于对话框的应用程序。也可以利用 AppWizard 生成最简单的控 制台应用程序(类似于 DOS 下用字符输入输出的程序)
Classwizard:用来定义Appwizard所创建的程序中的类。可以利用Classwizard在项目中增加类、为类增加处理消息的函数等。ClassWizard也可以管理包含在对话框中的控件,它可以将MFC对象或者类的成员变量与对话框中的控件联系起来。ActivexControlwizard:用于创建一个Activex控件的基本框架结构。Activex控件是用户自定义的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。3.MFC库库(library)是可以重复使用的源代码和目标代码的集合。MFC(MicrosoftFundamentalClasses)是VisualC++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发人员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连接、进行绘图和打印等各种通用的应用程序操作。使用MFC库开发应用程序可以减少很多工作量。二、项目开发过程在一个集成的开发环境中开发项目非常容易。一个用C++开发的项目的通用开发过程可以用左图表示。建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代码文件、资源文件等。然后,启动编译程序,编译程序首先调用预处理程序处理程序中的预处理命令(如#include,#define等),经过预处理程序处理的代码将作为编译程序的输入。编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指令、外部引用以及从该源文件中产生的函数和数据名。此后,连接程序将所有的目标代码和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产生一个可执行文件。一般有一个makefile文件来协调各个部分产生可执行文件。可执行文件分为两种版本:Debug和Release。Debug版本用于程序的开发过程,该版本产生的可执行程序带有大量的调试信息,可以供调试程序使用,而Release版本作为最终的发行版本,没有调试信息,并且带有某种形式的优化。学员在上机实习过程中可以采用Debug版本,这样便于调试。选择是产生Debug版本还是Release版本的方法是:在DeveloperStudio中选择菜单Build|SetActiveConfiguration,在弹出的对话框中,选择所要的类型,然后选择OK关闭对话框。Visua1C++集成开发环境中集成了编辑器、编译器、连接器以及调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开发出完整的应用程序
3 ClassWizard:用来定义 AppWizard 所创建的程序中的类。可以利用 ClassWizard 在项 目中增加类、为类增加处理消息的函数等。ClassWizard 也可以管理包含在对话框中的控件, 它可以将 MFC 对象或者类的成员变量与对话框中的控件联系起来。 ActiveX Control Wizard:用于创建一个 ActiveX 控件的基本框架结构。ActiveX 控件 是用户自定义 的控件,它支持一系列定义的接口,可以作为一个可再利用的组件。 3.MFC 库 库(library)是可以重复使用的源代码和目标代码的集合。MFC(Microsoft Fundamental Classes)是 Visual C++开发环境所带的类库,在该类库中提供了大量的类,可以帮助开发 人 员快速建立应用程序。这些类可以提供程序框架、进行文件和数据库操作、建立网络连 接、 进行绘图和打印等各种通用的应用程序操作。使用 MFC 库开发应用程序可以减少很多 工作 量。 二、项目开发过程 在一个集成的开发环境中开发项目非常容易。一个用 C++开发的项目的通用开发过程可 以用左图表示。建立一个项目的第一步是利用编辑器建立程序代码文件,包括头文件、代 码 文件、资源文件等。然后,启动编译程序,编译程序首先调用预处理程序处理程序中的 预处理命令(如#include, #define 等),经过预处理程序处理的代码将作为编译程序的输 入。编译对用户程序进行词法和语法分析,建立目标文件,文件中包括机器代码、连接指 令、外部引用以及从该源文件中产生的函数和数据名。此后,连接程序将所有的目标代码 和用到的静态连接库的代码连接起来,为所有的外部变量和函数找到其提供地点,最后产 生一个可执行文件。一般有一个 makefile 文件来协调各个部分产生可执行文件。可执行文 件分为两种版本:Debug 和 Release。Debug 版本用于程序的开发过程,该版本产生的可执 行程序带有大量的调试信息,可以供调试程序使用,而 Release 版本作为最终的发行版本, 没有调试信息,并且带有某种形式的优化。学员在上机实习过程中可以采用 Debug 版本, 这样便于调试。选择是产生 Debug 版本还是 Release 版本的方法是:在 Developer Studio 中选择菜单 Build|Set Active Configuration,在弹出的对话框中,选择所要的类型,然 后选择 OK 关闭对话框。 Visual C++ 集成开发环境中集成了编辑器、编译器、连接器以及 调试程序,覆盖了的开发应用程序的整个过程,程序员不需要脱离这个开发环境就可以开 发出完整的应用程序
Editor4SourceMakefiloHeaderFileshello.cppiostreamh4Preproces sorCompilerObjectFile.hello.obj+Objedt FiesLinkerLibrariesmibcewq.lib11Rolease VersionDebug Versionhello.exehello.exe三、集成开发环境进入DeveloperStudio如果你使用的是VisualC++6.0,则要进入DeveloperStudio,需要单击任务栏中“开始”后选择“程序”,找到MicrosoftVisualStudio6.0文件夹后,单击其中的MicrosoftVisualC++6.0图标,则可以启动DeveloperStudio。DeveloperStudio使用MicrosoftDeveloperNetwork(MSDN)库(需要先行安装)作为它的联机帮助系统。其界面如下:licrosoft Visual ct6E区zileBit yieTuetbrejot put fodr Yindw Belt中国ena日axe2:8ABuildpebur XFind in FilexFind in.Filex.2XRozultaaReady4
4 三、集成开发环境 进入 Developer Studio 如果你使用的是 Visual C++ 6.0,则要进入 Developer Studio, 需要单击任务栏中“开始”后选择“程序”,找到 Microsoft Visual Studio 6.0 文件夹 后,单击其中的 Microsoft Visual C++6.0 图标,则可以启动 Developer Studio。Developer Studio 使用 Microsoft Developer Network(MSDN)库(需要先行安装)作为它的联机帮助 系统。其界面如下: