C++实验指导书

2018-12-03 18:13

C++程序设计实验指导书

实验一 C++程序的运行环境和运行(2学时) 实验名称:C++程序的运行环境和运行 实验目的:

1、熟悉C与C++的编程区别; 2、熟悉C++的函数重载。

实验要求:

求两个数的平方和。要求如下:

1、有int,float和long型的数据各3个;

2、重载SumSqure函数求两个相同类型变量的平方和。

实验步骤:

1、 添加头文件#include 和名字空间using namespace std。

若要使用cin和cout标准输入输出流,则必须添加上述两个内容。

2、 构建重载SumSqure函数。

SumSqure函数的功能是对输入的两个同类型形参a,b求其平方和,并将结果返回。对于输入和返回的不同类型int,float,long,其函数内部实现代码是一样的,所以可利用函数的重载写出三个SumSqure函数。

3、 main函数中的赋值。

定义int,float,long三种类型的数据,分别调用SumSqure函数,测试其结果。

4、 调用SumSqure函数。

注意SumSqure函数重载的调用,根据SumSqure函数的定义可知:实参必须是同一种类型的变量才能调用不同的SumSqure,针对不同类型求平方和。

1

实验二 类与对象(一)(4学时) 实验名称:类与对象(一) 实验目的:

1、掌握类的设计; 2、掌握对象的创建;

3、实现一个简单的成员函数设计。

实验要求:

求3个长方体的体积,编写一个基于对象的程序,数据成员包括lenth,width,height。要求用成员函数实现以下功能:

1、由键盘分别输入3个长方体的长、宽、高; 2、计算长方体的体积; 3、输出3个长方体的体积。

实验步骤:

1、 建立三个文件,分别存储长方体类的声明头文件,长方体类的定义文件和main函数测

试文件。

注意:类的头文件和类的定义实现文件的命名要一致!

2、 头文件信息:

头文件长方体类的声明中,类成员变量有:lenth,width,height;类成员函数有:VolumeCalculation(), InputData()。注意:不用声明构造函数与析构函数。

3、 长方体类定义文件:

在定义文件中,需编写上面两个函数——VolumeCalculation和InputData的实现主体。InputData的作用是对某个对象的lenth,width,height 三个类成员变量赋值,VolumeCalculation作用是用来返回lenth*width*height的值,求出长方体的体积。

注意:不用在定义里写构造函数和析构函数。

4、 main函数中的成员函数的调用:

在main函数中用长方体类定义三个对象,分别对三个对象调用InputData和VolumeCalculation输入原始数据——长,宽,高,然后再输出体积。

2

实验三 类和对象(二)(6学时) 实验名称:类和对象(二) 实验目的:

1、掌握类的封装技术;

2、掌握累的声明与类的实现分离技术; 3、掌握对象的动态建立和释放;

4、掌握静态成员变量和成员函数的应用。

实验要求: 1、构造一个类CalculateFun,公有部分包含构造、析构函数、外部接口函数void AllByOne()、和静态成员函数static void ShowSequence()。私有部分包含:void InsideCalculation()、void SetData()、int x、int y和静态成员变量static int snCount。 2、构造函数CalculateFun()初始化x和y的值,InsideCalculation和SetData函数仅供AllByOne函数调用,而外部main函数中对于Calculation的任意对象仅仅调用AllByOne就可以实现从键盘上输入x、y的值,求出(x+2)*(y+3)的结果并显示出来。其中SetData用于键盘输入x和y的值,InsideCalculation用于计算(x+2)*(y+3)并显示结果。

3、建立void ObjectOperating(CalculateFun *pObject)普通函数,功能是对形参中的对象指针调用其接口函数AllByOne(),并且调用静态成员函数ShowSequence来显示是第几次调用对象。

4、main函数中建立一个含三个元素的对象指针数组pArr,分别对其三个元素new出三个对象,并调用ObjectOperating函数。完了后用delete释放new出的内存。

实验步骤:

1、 建立三个文件,分别存储CalculateFun类的的声明头文件、其定义实现文件和main函数

测试文件。

2、 头文件信息:头文件类的声明中,按照实验要求1来添加各成员变量和成员函数。

3、 类定义实现文件:通过对成员函数等编写具体实现内容,完成类的构造。

4、 main函数文件:参照实验说明4。

3

实验四 运算符重载(4学时) 实验名称:运算符重载 实验目的:

1、 掌握普通运算符重载常用方法及应用; 2、 掌握输入输出流运算符重载的方法。

实验要求:

1、 编写矩阵类,定义矩阵类Matrix中的private类型的int型成员变量matrixArray[2][3]; 2、 定义类成员函数InputData,对变量matrixArray进行以此赋值; 3、 利用operator + 实现两个矩阵类对象的加法。

4、 重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。

实验步骤:

1、 建立三个文件:

三个文件分别存储Matrix类的声明头文件、Matrix类的定义实现文件和main函数测试文件。注意:类的头文件和类的定义实现文件的命名要一致!

2、 头文件信息:

Matrix类头文件中需要定义private型的int型成员变量matrixArray。

声明public类型的一个默认构造,一个Display成员函数,显示矩阵的各个元素,和InputData对matrixArray进行数据的输入。

声明成员函数运算符操作Matrix operator + (Matrix &mat)或友元函数Matrix operator + (Matrix &mat1, Matrix &mat2)。

将流重载符都声明为用友元函数,friend istream& operator>>(istream &in,Matrix &m)和friend ostream& operator<<(ostream&,Matrix&);

3、 类定义文件:

构造函数可在函数体内部将matrixArray进行初始化为0(用两个for循环依次对每个元素赋值为0。

InputData函数依次输入每个元素的值。

Display函数显示矩阵的每个元素,在屏幕上的打印效果为2行3列。 operator +函数实现两个矩阵的每个元素值的相加。 两个流重载运算符分别实现矩阵的输入和输出。

4、 main函数:

定义两个Matrix类的对象,并依次调用InputData进行赋值,然后再调用operator+函数,对两个对象进行相加,再将相加后的结果用Display函数显示出来,数据的输入和输出要调用流重载运算符所在的友元函数。

4

实验五 继承与派生(6学时) 实验名称:派生与继承 实验目的:

1、 掌握类的继承、派生构造函数设计; 2、 掌握protected类型的用法。

实验要求:

先定义一个基类Person,Person里有5个protected类型的成员,分别是:string name(姓名)、int age(年龄)、char sex(性别)、string address(地址)、telephone(电话)。

然后分别定义Teacher(教师)类和Cadre(干部)类,分别用这两个类虚继承Person类,把其作为虚基类。再采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类,注意Teacher_Cadre构造函数初始化的问题。要求: (1)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务)。在Teacher_Cadre类中还包含数据成员wages(工资)。

(2)对Teacher和Cadre类的声明中都添加display函数,其函数定义里要输出各自类里所有成员数据(包括继承的Person里的数据)。

(3)在类体中声明成员函数,在类外定义成员函数。

(4)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,并用cout语句输出该类自己定义的变量wage。

实验步骤:

1、 建立三个文件:

三个文件分别存储Person、Teacher、Cadre和Teacher_Cadre类的声明头文件、其定义文件和main函数测试文件。注意:类的头文件和类的定义实现文件的命名要一致!

2、 头文件信息:

头文件声明中要把Teacher、Cadre和Teacher_Cadre三个类的声明全写上。Teacher、Cadre类声明中要含有void display()函数用以显示Teacher和Cadre类里的所有成员变量,Teacher_Cadre中也声明一个void show()函数,功能见下一步。

3、 类定义文件:

Teacher类中display函数中将其类的所有成员变量都输出。在Teacher_Cadre中成员函数首先利用Teacher类中的show函数首先调用Teacher类中的display函数输出所有Teacher类中的成员变量,然后再输出Teacher_Cadre类中的wages变量。

4、 main函数:

main函数里只需定义一个Teacher_Cadre类的对象,并对其初始化,然后调用show函数,看看显示的是什么情况。想想其调用原理。

5


C++实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学生常见“学习心理困扰”疏导的个案研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: