C++实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++程序设计实验指导书
实验一C++程序的运行环境和运行(2学时)
实验名称:C++程序的运行环境和运行
实验目的:
1、熟悉C与C++的编程区别;
2、熟悉C++的函数重载。
实验要求:
求两个数的平方和。要求如下:
1、有int,float和long型的数据各3个;
2、重载SumSqure函数求两个相同类型变量的平方和.
实验步骤:
1、添加头文件#include 〈iostream>和名字空间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、掌握类的设计;
2、掌握对象的创建;
3、实现一个简单的成员函数设计.
实验要求:
求3个长方体的体积,编写一个基于对象的程序,数据成员包括lenth,width,height。要求用成员函数实现以下功能:
1、由键盘分别输入3个长方体的长、宽、高;
2、计算长方体的体积;
3、输出3个长方体的体积.
实验步骤:
1、建立三个文件,分别存储长方体类的声明头文件,长方体类的定义文件和main函数测试
文件。
注意:类的头文件和类的定义实现文件的命名要一致!
2、头文件信息:
头文件长方体类的声明中,类成员变量有:lenth,width,height;类成员函数有:V olumeCalculation(),InputData()。注意:不用声明构造函数与析构函数。
3、长方体类定义文件:
在定义文件中,需编写上面两个函数——V olumeCalculation和InputData的实现主体.InputData的作用是对某个对象的lenth,width,height 三个类成员变量赋值,V olumeCalculation作用是用来返回lenth*width*height的值,求出长方体的体积。
注意:不用在定义里写构造函数和析构函数.
4、main函数中的成员函数的调用:
在main函数中用长方体类定义三个对象,分别对三个对象调用InputData和V olumeCalculation输入原始数据--长,宽,高,然后再输出体积。
实验名称:类和对象(二)
实验目的:
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.
实验四运算符重载(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函数显示出来,数据的输入和输出要调用流重载运算符所在的友元函数。