




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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,针对不同类型求平方和。实验二 类与对象(一)(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,公有部分包含构造、析构函数、外部接口函数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型成员变量matrixArray23;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函数显示出来,数据的输入和输出要调用流重载运算符所在的友元函数。实验五 继承与派生(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函数,看看显示的是什么情况。想想其调用原理。实验六 多态性与虚函数(6学时)实验名称:多态性与虚函数实验目的:掌握类的多重继承方法。实验要求:写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分别计算几种图形面积,并求他们的和。要求用基类指针数组,使它的每一个元素指向一个派生类对象。实验步骤:1、建立一个各种累声明的头文件和一个定义实现文件:将Shape、Circle、Square、Rectangle、Trapezoid、Triangle类的声明和实现分别写在一个头文件和一个定义文件里。2、在Shape类中,要含有纯虚函数virtual double Area() 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:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 4504:2025 EN Plastics - Polyethylene (PE) - Determination of co-monomer content by solution state 13C-NMR spectrometry
- 【正版授权】 ISO 5461:2025 EN Space systems - Failure reporting,analysis and corrective action (FRACA) process requirements
- 【正版授权】 ISO 17987-3:2025 EN Road vehicles - Local Interconnect Network (LIN) - Part 3: Protocol specification
- GB 46030-2025建筑用安全玻璃安全技术要求
- 校本培训经验课件
- 校外培训机构安全知识培训课件
- 导数考试题型及答案
- 盐业局的考试试题及答案
- 北京音乐知识培训课件
- 医药耗材面试题及答案
- 吉安市新庐陵投资发展有限公司及下属子公司2025年第二批面向社会公开招聘笔试备考题库及答案解析
- 2025至2030年中国生长激素行业市场深度研究及投资战略规划报告
- 大疆:2025大疆机场3操作指导书
- 2025年卫生健康行业经济管理领军人才试题
- hiv职业暴露培训课件
- 2025年重庆市高考物理试卷(含答案解析)
- 小番茄栽培技术课件
- (高清版)DB22∕T 5159-2024 预应力混凝土桩基础技术标准
- 2024年中级统计师《统计工作实务》真题及答案解析
- 小学2024-2025学年度第二学期道德与法治课程计划
- 河北省唐山市路北区2025届八年级数学第二学期期末达标检测模拟试题含解析
评论
0/150
提交评论