C实验指导书.docx
- 文档编号:10540151
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:7
- 大小:18.64KB
C实验指导书.docx
《C实验指导书.docx》由会员分享,可在线阅读,更多相关《C实验指导书.docx(7页珍藏版)》请在冰点文库上搜索。
C实验指导书
C,,实验指导书
C++程序设计实验指导书实验一
C++程序得运行环境与运行(2学时)实验名称:
C++程序得运行环境与运行实验目得:
1、熟悉C与C++得编程区别;2、熟悉C++得函数重载。
实验要求:
求两个数得平方与、要求如下:
1、有int,float与long型得数据各3个;2、重载SumSqure函数求两个相同类型变量得平方与。
实验步骤:
1、添加头文件#include〈iostream与名字空间usingnamespacestd、若要使用cin与cout标准输入输出流,则必须添加上述两个内容。
2、构建重载SumSqure函数。
SumSqure函数得功能就是对输入得两个同类型形参a,b求其平方与,并将结果返回。
对于输入与返回得不同类型int,float,long,其函数内部实现代码就是一样得,所以可利用函数得重载写出三个SumSqure函数、3、main函数中得赋值。
定义int,float,long三种类型得数据,分别调用SumSqure函数,测试其结果。
4、调用SumSqure函数。
注意SumSqure函数重载得调用,根据SumSqure函数得定义可知:
实参必须就是同一种类型得变量才能调用不同得SumSqure,针对不同类型求平方与。
实验二
类与对象
(一)(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输入原始数据--长,宽,高,然后再输出体积。
实验三
类与对象
(二)(6学时)实验名称:
类与对象
(二)实验目得:
1、掌握类得封装技术;2、掌握累得声明与类得实现分离技术;3、掌握对象得动态建立与释放;4、掌握静态成员变量与成员函数得应用。
实验要求:
1、构造一个类CalculateFun,公有部分包含构造、析构函数、外部接口函数voidAllByOne()、与静态成员函数staticvoidShowSequence()。
私有部分包含:
voidInsideCalculation()、voidSetData()、int_、inty与静态成员变量staticintsnCount。
2、构造函数CalculateFun()初始化_与y得值,InsideCalculation与SetData函数仅供AllByOne函数调用,而外部main函数中对于Calculation得任意对象仅仅调用AllByOne就可以实现从键盘上输入_、y得值,求出(_+2)*(y+3)得结果并显示出来。
其中SetData用于键盘输入_与y得值,InsideCalculation用于计算(_+2)_(y+3)并显示结果、
3、建立voidObjectOperating(CalculateFun_pObject)普通函数,功能就是对形参中得对象指针调用其接口函数AllByOne(),并且调用静态成员函数ShowSequence来显示就是第几次调用对象。
4、main函数中建立一个含三个元素得对象指针数组pArr,分别对其三个元素new出三个对象,并调用ObjectOperating函数、完了后用delete释放new出得内存。
实验步骤:
1、建立三个文件,分别存储CalculateFun类得得声明头文件、其定义实现文件与main函数测试文件、2、头文件信息:
头文件类得声明中,按照实验要求1来添加各成员变量与成员函数。
3、类定义实现文件:
通过对成员函数等编写具体实现内容,完成类得构造。
4、main函数文件:
参照实验说明4。
实验四四
运算符重载(4学时)实验名称:
运算符重载实验目得:
1、掌握普通运算符重载常用方法及应用;2、掌握输入输出流运算符重载得方法。
实验要求:
1、编写矩阵类,定义矩阵类Matri_中得private类型得int型成员变量matri_Array[2][3];2、定义类成员函数InputData,对变量matri_Array进行以此赋值;3、利用operator+实现两个矩阵类对象得加法。
4、重载流插入运算符“<<“与流提取运算符”;>”,使之能用于该矩阵得输入与输出。
实验步骤:
1、建立三个文件:
三个文件分别存储Matri_类得声明头文件、Matri_类得定义实现文件与main函数测试文件。
注意:
类得头文件与类得定义实现文件得命名要一致!
2、头文件信息:
Matri_类头文件中需要定义private型得int型成员变量matri_Array。
声明public类型得一个默认构造,一个Display成员函数,显示矩阵得各个元素,与InputData对matri_Array进行数据得输入。
声明成员函数运算符操作Matri_operator+(Matri_&mat)或友元函数Matri_operator+(Matri_&;mat1,Matri_&;mat2)。
将流重载符都声明为用友元函数,friendistream&operator〉(istream&;in,Matri_&m)与friendostream&;operator<〈(ostream&,Matri_&);3、类定义文件:
构造函数可在函数体内部将matri_Array进行初始化为0(用两个for循环依次对每个元素赋值为0。
InputData函数依次输入每个元素得值。
Display函数显示矩阵得每个元素,在屏幕上得打印效果为2行3列。
operator+函数实现两个矩阵得每个元素值得相加、两个流重载运算符分别实现矩阵得输入与输出。
4、main函数:
定义两个Matri_类得对象,并依次调用InputData进行赋值,然后再调用operator+函数,对两个对象进行相加,再将相加后得结果用Display函数显示出来,数据
得输入与输出要调用流重载运算符所在得友元函数。
实验五
继承与派生(6学时)实验名称:
派生与继承实验目得:
1、掌握类得继承、派生构造函数设计;2、掌握protected类型得用法。
实验要求:
先定义一个基类Person,Person里有5个protected类型得成员,分别就是:
stringname(姓名)、intage(年龄)、charse_(性别)、stringaddress(地址)、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类声明中要含有voiddisplay()函数用以显示Teacher与Cadre类里得所有成员变量,Teacher_Cadre中也声明一个voidshow()函数,功能见下一步。
3、类定义文件:
Teacher类中display函数中将其类得所有成员变量都输出。
在Teacher_Cadre中成员函数首先利用Teacher类中得show函数首先调用Teacher类中得display函数输出所有Teacher类中得成员变量,然后再输出Teacher_Cadre类中得wages变量。
4、main函数:
main函数里只需定义一个Teacher_Cadre类得对象,并对其初始化,然后调用show函数,瞧瞧显示得就是什么情况。
想想其调用原理。
实验六
多态性与虚函数(6学时)实验名称:
多态性与虚函数实验目得:
掌握类得多重继承方法。
实验要求:
写一个程序,定义抽象基类Shape,由它派生出5个派生类:
Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)、用虚函数分别计算几种图形
面积,并求她们得与、要求用基类指针数组,使它得每一个元素指向一个派生类对象、实验步骤:
1、建立一个各种累声明得头文件与一个定义实现文件:
将Shape、Circle、Square、Rectangle、Trapezoid、Triangle类得声明与实现分别写在一个头文件与一个定义文件里。
2、在Shape类中,要含有纯虚函数virtualdoubleArea()const=0;在其它得类中要公有继承该函数并在定义文件中写出各自得面积公式、定义各个类中求面积所需得成员变量(都就是protected类型)3、main函数:
除了纯虚函数Shape外,分别定义各类得对象,并且定义包含5个元素得Shape类指针数组pt,取每个类定义出得对象得首地址分别赋给pt得每一个元素,在对pt得每个元素调用Area函数求出各自得面积,并将各自求出面积得总与相加得到总面积并输出。
实验七
输入输出流(4学时)实验名称:
输入输出流实验目得:
掌握文件得输入输出流对文件得读写操作。
实验要求:
建立两个磁盘文件f1.dat与f2、dat,编程序实现以下工作:
1、从键盘输入10个整数,分别存放在两个磁盘文件中(每个文件中放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函数即可、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 指导书