C++面向对象程序设计实验指导书谭浩强 下载本文

内容发布更新时间 : 2024/12/27 8:43:23星期一 下面是文章的全部内容请认真阅读。

实验五 实验六 实验七 实验八 实验九 实验十 实验十一 实验五 运算符重载 (2学时) 派生与继承 (2学时) 派生与继承—多重派生 (2学时) 实验八 C++程序、Windows程序和MFC程序 (2学时) 简单单文档MFC程序设计 (2学时) 简单对话框程序设计 (2学时) 简单数据库程序设计 (4学时)

0.3 如何使用本书

面向对象程序设计语言出现的目的就是为了设计大型的软件系统,但是教学过程中很难让学生在课堂上实现一个大型的(甚至是成型)的系统,所以作为教师应该引导学生在实现一个简单的功能性的程序的同时让学生思考,思考如何把这个地方的技术实现到一个复杂的应用系统中去;另外教师要充分利用本书中第二部分的练习,引导学生去思考如何利用C++的相关技术从头到尾设计一个具有实用价值的应用程序。

作为学生如果只是简单地按照本书中提供的步骤一步一步完成某一个程序,而不去思考为什么要这样做的话,那么学生能学到的知识也仅仅是C++的语法而已,并不能真正理解C++面向对象的思想,最终不能设计出好的程序来。所以学生不仅要全部实现本书中的课堂练习,得出正确的结果,而且在完成了程序后还要思考本程序为什么要这样设计,如果换成其它的程序设计语言会怎么实现,只有这样才能够真正理解C++的精髓,从而掌握C++。

另外学生在学习最后四个实验的时候一定不要忘记前面C++语法知识,能否合理地将C++的三大特性运用到MFC的程序设计中是提高程序运行效率,存储效率和程序封装性一个最有效的手段。

实验一 C++程序的运行环境和运行C++程序

的方法

1.1 实验目的

(1)了解所用的计算机系统的基本操作方法, 学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C++程序e (3)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。

应学会在一种以上的编译环境下运行C++程序,建议学习并掌握Visual C++ 6.0的使用方法。

1.2实验内容和步骤

(1) 检查所用的计算机系统是否已安装了C++编译系统, 并确定它所在的子目录。

(2) 在Visual C++环境下编译和运行C ++程序。

在第一次上机时, 按以下步骤建立和运行C++程序: ① 先进入V i sual C++ 6 . 0 环境。

② 按照《上机指导》第9章介绍的方法, 在自己指定的子目录建立一个名为test. cpp 的新文件(此时尚未向文件输入内容) 。

③ 从键盘输入以下程序(第l 章第4题) int main(); {

int a,b; c=a+b;

cout>>” a+b=”>>a+b; }

④ 选择Build→ Compile test.cpp 命令, 对此源程序进行编译。观察和分析编译信息。

⑤ 根据编译信息指出的错误,修改程序。再进行编译,如果还有错, 再重复此过

程,直到编译不出错为止。 ⑥ 选择Build→Build test.exe 命令,对程序进行连接, 如果不出销, 就会生成可执行程序test.exe。

⑦ 选择Build- Execute test. exe 命令, 执行可执行程序test. exe。观察屏幕的变化。

在输出窗口应显示程序运行结果。

⑧ 分析结果是否正确, 如果不正确或认为输出格式不理想,可以修改程序,然后重新执行以上④至⑧步骤。

此外,还可利用已有的源程序建立一个新程序。由于刚才已建立了一个名为test. cpp的源程序, 可以以它为基础建立一个新程序。这样更方便些。按以下步骤:

① 通过“资源管理器”或“我的电脑”找到已有源程序test. cpp。 ② 双击\cpp \图标, 进入Visual C ++集成环境, 打开test. cpp 。 ③ 在test. cpp 基础上将源程序修改为以下内容(第l 章第5 题) , #include using namespace std; int main( ) {

int a,b; c=add(a,b)

cout<<”a+b=”<

int add(int x,int y); {

z =x+y; return(z); }

④选择File-Save as 命令,用新的文件名other.cpp 保存。此时, other.cpp 与tesl. cpp在同一子目录下。

⑤对新文件other. cpp 进行编译、连接和运行。步骤同前。 (3) 请思考以下问题,并上机进行试验。

将本实验中第2 个程序作以下改动: (a) 将程序第1,2 行改为下面一行 #include

(b) 将第3 行int main ()改为 void main()

( c ) 删去main 函数中的 retum 0;

再运行此程序。并对此作分析,得到必要的结论。

(4) 输入两个整数,将它们由大到小的顺序输出(本题是<< C ++面向对象程序设计》第l章习题第8题) 。

①使用指针方法。 ②使用变量的引用。

比较这两种方法的特点和使用方法。

实验二 C++对C 的扩充

2.1 实验目的

1.进一步了解和熟悉VC++6.0开发环境,学会在VC++6.0环境下调试程序; 2.熟悉C++中简单的标准输入输出函数的实用;

3.理解const修饰符的作用,并学会应用const修饰符; 4.理解内置(内联)函数的优缺点并学会使用内置函数; 5.理解和使用函数重载以及带默认参数的函数; 6.使用new和delete进行动态内存管理; 7.理解和使用引用。

2.2 实验内容 2.2.1 程序阅读

1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。 #include using namespace std;

int max_def(int x, int y) {

return (x>y?x:y); }

int max_def(int x, int y, int z) {

int temp = 0;

return (temp=(x>y?x:y))>z?temp:z; }

double max_def(double x, double y) {

return (x>y?x:y); }

int main() {

int x1 = 0; int x2 = 0;

double d1 = 0.0; double d2 = 0.0; x1 = max_def(5,6);