1、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
2、,long,其函数内部实当代码是同样,因此可运用函数重载写出三个SumSqure函数。3、 main函数中赋值。定义int,float,long三种类型数据,分别调用SumSqure函数,测试其成果。4、 调用SumSqure函数。注意SumSqure函数重载调用,依照SumSqure函数定义可知:实参必要是同一种类型变量才干调用不同SumSqure,针对不同类型求平方和。实验二 类与对象(一)(4学时)实验名称:类与对象(一)实验目:1、掌握类设计;2、掌握对象创立;3、实现一种简朴成员函数设计。实验规定:求3个长方体体积,编写一种基于对象程序,数据成员涉及lenth,width,heigh
3、t。规定用成员函数实现如下功能:1、由键盘分别输入3个长方体长、宽、高;2、计算长方体体积;3、输出3个长方体体积。实验环节:1、 建立三个文献,分别存储长方体类声明头文献,长方体类定义文献和main函数测试文献。注意:类头文献和类定义实现文献命名要一致!2、 头文献信息:头文献长方体类声明中,类成员变量有:lenth,width,height;类成员函数有:VolumeCalculation(),InputData()。注意:不用声明构造函数与析构函数。3、 长方体类定义文献:在定义文献中,需编写上面两个函数VolumeCalculation和InputData实现主体。InputData作
4、用是对某个对象lenth,width,height 三个类成员变量赋值,VolumeCalculation作用是用来返回lenth*width*height值,求出长方体体积。注意:不用在定义里写构造函数和析构函数。4、 main函数中成员函数调用:在main函数中用长方体类定义三个对象,分别对三个对象调用InputData和VolumeCalculation输入原始数据长,宽,高,然后再输出体积。实验三 类和对象(二)(6学时)实验名称:类和对象(二)实验目:1、掌握类封装技术;2、掌握累声明与类实现分离技术;3、掌握对象动态建立和释放;4、掌握静态成员变量和成员函数应用。实验规定:1、构造
5、一种类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+
6、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、 建立三个文献,分别存储Calcul
7、ateFun类声明头文献、其定义实现文献和main函数测试文献。2、 头文献信息:头文献类声明中,按照实验规定1来添加各成员变量和成员函数。3、 类定义实现文献:通过对成员函数等编写详细实现内容,完毕类构造。4、 main函数文献:参照实验阐明4。实验四 运算符重载(4学时)实验名称:运算符重载实验目:1、 掌握普通运算符重载惯用办法及应用;2、 掌握输入输出流运算符重载办法。实验规定:1、 编写矩阵类,定义矩阵类Matrix中private类型int型成员变量matrixArray23;2、 定义类成员函数InputData,对变量matrixArray进行以此赋值;3、 运用operato
8、r + 实现两个矩阵类对象加法。4、 重载流插入运算符“”,使之能用于该矩阵输入和输出。实验环节:1、 建立三个文献:三个文献分别存储Matrix类声明头文献、Matrix类定义实现文献和main函数测试文献。注意:类头文献和类定义实现文献命名要一致!2、 头文献信息:Matrix类头文献中需要定义private型int型成员变量matrixArray。声明public类型一种默认构造,一种Display成员函数,显示矩阵各个元素,和InputData对matrixArray进行数据输入。声明成员函数运算符操作Matrix operator + (Matrix &mat)或友元函数Matrix
9、 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 +函数实现两个矩阵每个元素值相加。两个流重载运算符分别实现矩阵输
10、入和输出。4、 main函数:定义两个Matrix类对象,并依次调用InputData进行赋值,然后再调用operator+函数,对两个对象进行相加,再将相加后成果用Display函数显示出来,数据输入和输出要调用流重载运算符所在友元函数。实验五 继承与派生(6学时)实验名称:派生与继承实验目:1、 掌握类继承、派生构造函数设计;2、 掌握protected类型用法。实验规定:先定义一种基类Person,Person里有5个protected类型成员,分别是:string name(姓名)、int age(年龄)、char sex(性别)、string address(地址)、telephon
11、e(电话)。然后分别定义Teacher(教师)类和Cadre(干部)类,分别用这两个类虚继承Person类,把其作为虚基类。再采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类,注意Teacher_Cadre构造函数初始化问题。规定:(1) 在Teacher类中还包括数据成员title(职称),在Cadre类中还包括数据成员post(职务)。在Teacher_Cadre类中还包括数据成员wages(工资)。(2) 对Teacher和Cadre类声明中都添加display函数,其函数定义里要输出各自类里所有成员数据(涉及继承Person里数据)。(3) 在类体中声明成
12、员函数,在类外定义成员函数。(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类里所
13、有成员变量,Teacher_Cadre中也声明一种void show()函数,功能见下一步。3、 类定义文献: Teacher类中display函数中将其类所有成员变量都输出。在Teacher_Cadre中成员函数一方面运用Teacher类中show函数一方面调用Teacher类中display函数输出所有Teacher类中成员变量,然后再输出Teacher_Cadre类中wages变量。4、 main函数:main函数里只需定义一种Teacher_Cadre类对象,并对其初始化,然后调用show函数,看看显示是什么状况。想想其调用原理。实验六 多态性与虚函数(6学时)实验名称:多态性与虚函数
14、实验目:掌握类多重继承办法。实验规定:写一种程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求她们和。规定用基类指针数组,使它每一种元素指向一种派生类对象。实验环节:1、建立一种各种累声明头文献和一种定义实现文献:将Shape、Circle、Square、Rectangle、Trapezoid、Triangle类声明和实现分别写在一种头文献和一种定义文献里。2、在Shape类中,要具有纯虚函数virtual double Area
15、() const = 0;在其他类中要公有继承该函数并在定义文献中写出各自面积公式。定义各个类中求面积所需成员变量(都是protected类型)3、main函数:除了纯虚函数Shape外,分别定义各类对象,并且定义包括5个元素Shape类指针数组pt,取每个类定义出对象首地址分别赋给pt每一种元素,在对pt每个元素调用Area函数求出各自面积,并将各自求出面积总和相加得到总面积并输出。实验七 输入输出流(4学时)实验名称:输入输出流实验目:掌握文献输入输出流对文献读写操作。实验规定:建立两个磁盘文献f1.dat和f2.dat,编程序实现如下工作:1、从键盘输入10个整数,分别存储在两个磁盘文献
16、中(每个文献中放5个整数);2、从f1.dat读入5个数,然后存储到f2.dat文献原有数据背面;3、从f2.dat中读入10个整数,对它们按从小到大顺序存储到f2.dat(不保存本来数据)。实验环节:1、 在磁盘里建立两个文献f1.dat和f2.dat,若两个文献都在C盘,则在程序里引用其名称时需这样写:”C:f1.dat”和”C:f2.dat”。2、 创立函数fun1,分别定义两个流文献对象,并检查与否能成功对其打开。输入5个数存储到f1.dat文献中,并且再输入5个数存储到f2.dat文献中。然后关闭两个文献。3、 创立函数fun2,其功能是读取f1.dat文献中5个数,并存储到f2.dat文献原有数据背面。4、 创立函数fun3,其功能是从f2.dat文献中读取10个整数,运用起泡法对10个数进行排序,并将排序后10个数输出。5、 main函数:依次调用fun1、fun2、fun3函数即可。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100