面向对象程序设计C++实验指导书

更新时间:2023-10-02 21:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《面向对象程序设计C++》

实 验 指 导 书

适用专业: 计算机

编 者: 史东辉

安徽建筑工业学院电信学院

2007年10月

目 录

实验1 ........................................................................................... 3

1. 2. 3. 4. 5.

实验目的................................................................................................... 3 实验任务................................................................................................... 3 实验步骤................................................................................................... 3 思考题....................................................................................................... 6 实验报告................................................................................................... 6

实验2 ........................................................................................... 7

1. 2. 3. 4. 5.

实验目的................................................................................................... 7 实验任务................................................................................................... 7 实验步骤................................................................................................... 8 思考题..................................................................................................... 12 实验报告................................................................................................. 12

实验3 ......................................................................................... 13

1. 实验目的................................................................................................. 13 2. 实验任务................................................................................................. 13 3. 实验步骤................................................................................................. 13 4. 思考题..................................................................................................... 15 5. 实验报告................................................................................................. 15

实验4 ......................................................................................... 16

1. 2. 3. 4. 5.

实验目的................................................................................................. 16 实验任务................................................................................................. 16 实验步骤................................................................................................. 16 思考题..................................................................................................... 17 实验报告................................................................................................. 17

实验5 ......................................................................................... 18

1. 2. 3. 4. 5.

实验目的................................................................................................. 18 实验任务................................................................................................. 18 实验步骤................................................................................................. 18 思考题..................................................................................................... 18 实验报告................................................................................................. 19

2

实验1

Visual C++6.0开发环境应用入门(3学时)

1. 实验目的

1.了解Visual C++6.0的特点。 1.熟悉Visual C++6.0的开发环境。

2.学习用Visual C++6.0编写标准的C++控制台程序。

2. 实验任务

使用Visual C++来建立一个非图形化的标准C++程序,编译、运行以下程序: #include C++简单程序设计(3学时) void main(void) {

cout<<”Hello! \\n”;

cout<<”Welcome to c++! \\n”; }

3. 实验步骤

1. 启动Visual C++6.0开发环境

从“开始”菜单中选择“程序”| Microsoft Visual Studio 6.0 | Microsoft Visual C++6.0”,显示Visual C++6.0开发环境窗口。 2. 创建一个项目

(1) 单击File 菜单中的New选项,显示 New(新建)对话框(如图1-1所示)。 (2) 单击 Project (项目)标签,在 Projects 选项卡中,选择Win32 Console Application (Win 32控制台应用程序 )。在 Location(位置)文本框中指定一个路径,在 Preject Name (项目名称)文本框中为项目输入一个名字 lab1_1,单击 OK按钮。 (3) 在弹出的Win32 Console Application-Step 1 of 1对话框中选择An Empty Project 单选项,然后单击Finish(完成)按钮(如图1-2所示)。

(4) 最后在New Project Information 对话框中单击OK按钮,完成项目建立。

3

图1-1 New对话框

图1-2 创建控制台应用程序第一步

3. 建立C++源程序文件

(1) 选择菜单命令Project |Add to Project | New, 弹出New对话框。

(2) 如图1-3所示,在New 对话框的Files选项卡中选择C++ Source File, 并填入文件名称lab 1_1,单击OK按钮,完成新建C++源程序文件。 4. 编辑C++源程序文件内容

(1) 在文件编辑窗口中输入代码(如图1-4所示)。 (2) 选择菜单命令File|Save保存这个文件。

4

图1-3 添加新的源程序文件

图1-4 在文件编辑窗口中输入代码

5. 建立并运行可执行程序

(1) 选择菜单命令Build | Build lab 1_1.exe建立可执行程序。

如果你正确输入了源程序,此时便成功地生成了可执行程序lab 1_1.exe。 如果程序有语法错误,则屏幕下方的状态窗口中会显示错误信息,根据这些错误信息对源程序进行修改后,重新选择菜单命令 Build | Build lab 1_1.exe,建立可执行程序。

(2) 选择菜单命令Build | Build lab 1_1.exe运行程序,观察屏幕的显示内容。 6. 关闭工作空间

选择菜单命令File | Close Workspace关闭工作空间。

5

实验4

继承与派生(3学时)

1. 实验目的

1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制。 3.学习利用虚基类解决二义性问题。

2. 实验任务

1. 定义一个基类Animal, 有私有整型成员变量age,构造其派生类dog,在其成员

函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。

2. 定义一个基类BaseCkass, 有整型成员变量Number,构造其派生类DerivedClass,

观察构造函数和析构函数的执行情况。

3. 定义一个车(vehicle)基类,具有MaxSpeed,Weight等成员变量,Run、Stop等成员

函数,由此派生出自行车(bicycle)类,汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。

3. 实验步骤

1.编写程序定义基类Animal,成员变量Age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示: error C2248:’age’:cannont access private member declared in class ‘Animal’ error C2248:’age’:cannont access private member declared in class ‘Animal’ 把age改为公有成员变量后重新编译就可以了。程序名:lab4_1.cpp。

2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。

3.用debug功能跟踪程序lab4_2.cpp的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。

4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类,汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)

16

类,在main ( ) 函数中测试这个类。程序名:lab4_3.cpp。

编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。

4. 思考题

(1) 归纳类的不同继承方式下类成员的访问控制情况。 (2) 解释虚基类的作用。

5. 实验报告

(1) 实验预习:仔细阅读实验指导书,。

(2) 实验记录的内容应包括源程序、实验数据和运行结果。

(3) 实验结论部分的内容应包括对实验结果的分析和总结,回答思考题。

17

实验5

多态性(3学时)

1. 实验目的

1.掌握运算符重载的方法

2.学习使用虚函数实现动态多态性。

2. 实验任务

1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。

2.定义一个车(vehicle)基类,有Run 、Stop等成员函数,由此派生出自行车(bicycle)类,汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run 、Stop等成员函数。观察虚函数的作用。

3. 实验步骤

1.编写程序定义Point类,在类中定义整型的私有成员变量_x、_y,定义成员函数Point&operator++( ); Point operator++ (int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point&operator――( ); Point operator―― (int);以实现对Point类重载“――”(自减)运算符,实现对坐标值的改变。程序名:lab8_1.cpp。 2.编写程序定义一个车(vehicle)基类,有Run 、Stop等成员函数,由此派生出自行车(bicycle)类,汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run 、Stop等成员函数。在main ( ) 函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run ( ) 、Stop ( )函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run 、Stop定义为虚函数,再试试看。程序名:lab5_2.cpp

4. 思考题

(1) 说明运算符重载的作用和方法。 (2) 说明虚函数的作用。

18

5. 实验报告

(1) 实验预习:仔细阅读实验指导书,。

(2) 实验记录的内容应包括源程序、实验数据和运行结果。

(3) 实验结论部分的内容应包括对实验结果的分析和总结,回答思考题。 .

19

本文来源:https://www.bwwdw.com/article/7bxd.html

Top