C++面向对象程序设计实验指导书
(v1.0)
刘恒洋 谭智编
重庆工学院计算机学院
2007年9月
C++面向对象程序设计实验指导书 目录
目录
绪论 .................................................................................................................................................. 1
0.1 写本书的目的 .................................................................................................................... 1 0.2 本书的结构安排 ................................................................................................................ 1 0.3 如何使用本书 .................................................................................................................... 2 实验一 C++基础 ............................................................................................................................. 3
1.1 实验目的 ............................................................................................................................ 3 1.2 实验内容 ............................................................................................................................ 3
1.2.1 程序阅读 ................................................................................................................. 3 1.2.2 程序设计 ................................................................................................................. 5 1.3 思考题 ................................................................................................................................ 5 实验二 类和对象—类的构建 ......................................................................................................... 6
2.1 实验目的 ............................................................................................................................ 6 2.2 实验内容 ............................................................................................................................ 6
2.2.1程序阅读 .................................................................................................................. 6 2.2.2 程序设计 ................................................................................................................. 8 2.3思考题 ................................................................................................................................. 8 实验三 类和对象—构造函数与析构函数 ..................................................................................... 9
3.1 实验目的 ............................................................................................................................ 9 3.2 实验内容 ............................................................................................................................ 9
3.2.1程序阅读 .................................................................................................................. 9 3.2.2 程序设计 ............................................................................................................... 10 3.3思考题 ............................................................................................................................... 11 实验四 类和对象—对象传递与静态成员 ................................................................................... 12
4.1 实验目的 .......................................................................................................................... 12 4.2 实验内容 .......................................................................................................................... 12
4.2.1程序阅读 ................................................................................................................ 12 4.2.2 程序设计 ............................................................................................................... 15
实验五 派生与继承—单重派生 ................................................................................................... 16
5.1 实验目的 .......................................................................................................................... 16 5.2 实验内容 .......................................................................................................................... 16
5.2.1程序阅读 ................................................................................................................ 16 5.2.2 程序设计 ............................................................................................................... 18
实验六 派生与继承—多重派生 ................................................................................................... 19
6.1 实验目的 .......................................................................................................................... 19 6.2 实验内容 .......................................................................................................................... 19
6.2.1程序阅读 ................................................................................................................ 19 6.2.2 程序设计 ............................................................................................................... 22 6.3思考题 ............................................................................................................................... 22 实验七 多态性—函数与运算符重载 ........................................................................................... 23
7.1 实验目的 .......................................................................................................................... 23 7.2 实验内容 .......................................................................................................................... 23
7.2.1程序阅读 ................................................................................................................ 23
I
C++面向对象程序设计实验指导书 目录
7.2.2 程序设计 ............................................................................................................... 25 7.3思考题 ............................................................................................................................... 26 实验八 多态性—类型转换与虚函数 ........................................................................................... 27
8.1 实验目的 .......................................................................................................................... 27 8.2 实验内容 .......................................................................................................................... 27
8.2.1程序阅读 ................................................................................................................ 27 8.2.2 程序设计 ............................................................................................................... 29 8.3思考题 ............................................................................................................................... 29 实验九 模板类的构造 ................................................................................................................... 30
9.1 实验目的 .......................................................................................................................... 30 9.2 实验内容 .......................................................................................................................... 30
9.2.1程序阅读 ................................................................................................................ 30 9.2.2 程序设计 ............................................................................................................... 32 9.3思考题 ............................................................................................................................... 32 实验十 C++的I/O流类库 ............................................................................................................ 33
10.1 实验目的 ........................................................................................................................ 33 10.2 实验内容 ........................................................................................................................ 33
10.2.1程序阅读 .............................................................................................................. 33 10.2.2 程序设计 ............................................................................................................. 34 10.3思考题 ............................................................................................................................. 34 实验十一 C++程序、Windows程序和MFC程序 ..................................................................... 36
11.1 实验目的 ........................................................................................................................ 36 11.2 实验内容 ........................................................................................................................ 36
11.2.1 实验描述 ............................................................................................................. 36 11.2.2 实验步骤 ............................................................................................................. 37 11.2.3 实验结果分析 ..................................................................................................... 43 11.3思考题 ............................................................................................................................. 45 实验十二 简单单文档MFC程序设计 .................................................................................. 46
12.1 实验目的 ........................................................................................................................ 46 12.2 实验内容 ........................................................................................................................ 46
12.2.1 实验描述 ............................................................................................................. 46 12.2.2 实验步骤 ............................................................................................................. 47 12.2.3 实验结果 ............................................................................................................. 52 12.3思考题 ............................................................................................................................. 53 实验十三 简单对话框程序设计 ............................................................................................. 54
13.1 实验目的 ........................................................................................................................ 54 13.2 实验内容 ........................................................................................................................ 54
13.2.1 实验描述 ............................................................................................................. 54 13.2.2 实验步骤 ............................................................................................................. 54 13.2.3 实验结果 ............................................................................................................. 61 13.3思考题 ............................................................................................................................. 61 实验十四 简单数据库程序设计 ............................................................................................. 63
14.1 实验目的 ........................................................................................................................ 63 14.2 实验内容 ........................................................................................................................ 63
II
C++面向对象程序设计实验指导书 目录
14.2.1 实验描述 ............................................................................................................. 63 14.2.2 实验步骤 ............................................................................................................. 64 14.2.3 实验结果 ............................................................................................................. 71 14.3思考题 ............................................................................................................................. 72 综合练习 ........................................................................................................................................ 73 总结 ................................................................................................................................................ 74 参考书目 ........................................................................................................................................ 75
III
C++面向对象程序设计实验指导书 绪论
绪论
0.1 写本书的目的
面向对象程序设计语言是现今最流行的编程语言之一,C++语言是作为最早最流行的面向对象编程语言之一而发展起来的。学好C++语言不仅可以从面向过程的程序设计思想过渡到面向对象的程序设计思想,而且可以为以后学习其它的面向对象语言打下坚实的基础,使得学习其它的面向对象编程语言变得轻松、容易。 实验作为学习C++语言不可缺少的一个环节不仅可以加深学生对C++面向对象思想的理解,同时可以提高学生的动手编程能力,培养学生良好的编码习惯。目前关于C++语言的理论教材比较多,但是适合学生练习的实验指导书却比较少,这严重影响了学生对C++这门课程的学习。大多数情况下,学生学习C++语言之前都刚刚学习过C语言程序设计这门课程,从编程环境到编程语言同时转换过来需要一定的时间和合理的指引,同时在学习C++理论知识的过程中,学生很少也很难把C++程序设计和现在社会上比较流行的基于VC6.0的MFC程序设计联系起来,所以很难让学生在学习C++语言的同时,提升学生基于VC6.0的MFC程序设计的能力。编写本书的目的就是从以上几点来考虑的,首先要把学生从以前的编程环境中脱离出来,然后循序渐进地介绍新的编程环境的新知识点,同时把C++的语法结构融入到基于VC6.0的MFC程序设计中去,从而实现学生轻松掌握C++这门程序设计语言和习惯编程环境以及理解C++语法和MFC之间的关系的目的,从而提高学生的程序设计能力和学生程序设计的成就感。
0.2 本书的结构安排
实验课程的安排离不开理论课程的学习,本书的编排以知识点为核心,理论教材蓝本为《C++面向对象程序设计教程》(第2版)陈维兴 林小茶编著,清华大学出版社出版。通过为不同的知识点设计相应的实验程序,来达到学生练习和理解C++语言面向对象的思想的目的,同时本书还设计了一些程序设计课后练习题,设计本部分有三个目的:一个是有些课堂练习中没有办法练习到的知识点将在这部分体现,指导老师可以根据需要来增删课堂的讲解内容;另一个是为一部分有能力有兴趣深入学习C++程序设计的同学提供一些练习题,从而提升这部分学生的程序设计能力;第三就是避免有些学生在做实验的过程中盲目按照指导书中的步骤一步一步地不加思考地写程序,学生要回答这些问题,就必须看懂这些程序中隐含的知识点,从而达到理论知识和实践知识更好地结合。 对于课堂练习,本书共安排了十个实验,共32个学时,实验安排如下: 实验一 C++基础 (2学时) 实验二 类和对象—类的构建 (2学时) 实验三 类和对象—构造函数与析构函数 (2学时) 实验四 类和对象—对象传递与静态成员 (2学时) 实验五 派生与继承—单重派生 (2学时) 实验六 派生与继承—多重派生 (2学时) 实验七 多态性—函数与运算符重载 (2学时)
1