C++类的继承与派生 实验报告(1).doc
GuangxiUniversityofScienceandTechnology
实验报告
实验课程:C++程序设计教程
实验内容:类的继承与派生
院(系):
专业:
班级:
学生姓名:
学号:
指导教师:
2013年11月11日
面向对象程
面向对象程序
设计实验
2
一.实验目的:
1、掌握利用单继承和多继承的方式定义派生类的方法。
2、深刻理解在各种继承方式下构造函数和析构函数的执行顺序。
3、理解和掌握公有继承、私有继承和保护继承对基类成员的访问机制。
4、理解虚基类的目的和作用。
二.实验内容
(一)实验题目一:声明一个圆类作为基类,含成员数据半径R;有成员函数:构造函数实现对基类成员数据的初始化、计算圆面积的成员函数、输出的成员函数,要求输出圆半径R。把圆类作为基类,通过公有继承,派生圆柱体类,派生类新增成员数据有高(H);新增成员函数有构造函数、计算圆柱体体积的函数、输出所有成员的函数。main()完成派
生类对象的定义和相关函数的测试。
2.程序源代码:
#includeiostream
usingnamespacestd;
classround
{
public;
round(floatm)
{
rad=m;
}
floatspace()
sp=3.14*rad*rad:
returnsp;
}
voiddisplay()
couttheroundofinformationendl;
cout该圆半径:radendl;
面向对象程序广西科技大学实验报告
面向对象程序
设计实验
3
cout该圆面积:space()endl;
}
protected:
floatrad;
floatsp;
};
classcylinder:publicround
{
public;
cylinder(floatm,floatn):round(m)
{
high=n;
}
voidgethigh(floatn)
{
high=n;
}
floatroom()
{
bulk=3.14*rad*rad*high;
returnbulk;
}
voidplay()
coutthecylinderofinformation:endl;
cout该圆柱高:highendl;
cout该圆柱体积:“room()endl;
}
面向对象程序广西科技大学实验报告
面向对象程序
设计实验
4
protected:
floathigh;
floatbulk;
};
intmain()
{
floatm,n;
cout“输入该圆半径:”;
cinm;
cout输入该圆柱高:“;
cinn;
cylinderss(m,n);
ss.display();
ss.play();
3.实验结果:
aC:Windows\system32/cmdexe
输入该圆半径:4
输入该圆柱高:4.5
Cheroundofinformation
4
该摄面积:50.24
thecylinderofinformation:
柱高4.5
圆
该该请按任意键继续..
该该
面向对象程序广西科技大学实验报告
面向对象程序
设计实验
5
l
l
(二)实验题目二:声明一个学生类,有成员函数:学号、姓名、性别、年龄,要求有如下成员函数:构造函数,输出所有成员的函数。声明一个课程类,有成员数据:课程编号、课程名称、学时数,要求有如下成员函数:构造函数,输出所有成员的函数。将学生类和课程类作为基类,通过公有继承,派生选课类,派生类新增成员数据有:成绩;新成员函数有:构造函数,输出所有成员的函数。main()完成派生类对象的定义和相关函数的测试。
2.程序源代码:
#includeiostream
usingnamespacestd;
#includestring
classstudent
{
public:
//student的类
student()
{
//student默认构造函数
}
voidset1(char*n,char*id,char*s,inty)
{
name=n;
ID=id;
sex=s;
year=y;
voidg