C++程序设计教程之类的继承与派生实验报告-广西科技大学.doc
文本预览下载声明
广西科技大学实验报告 面向对象程序设计实验
PAGE XVII
PAGE \* MERGEFORMAT7
Guangxi University of Science and Technology
实验报告
实验课程: C++程序设计教程
实验内容: 类的继承与派生
院 (系):
专 业:
班 级:
学生姓名:
学 号:
指导教师:
2013年 11 月 11日
实验目的:
1、掌握利用单继承和多继承的方式定义派生类的方法。
2、深刻理解在各种继承方式下构造函数和析构函数的执行顺序。
3、理解和掌握公有继承、私有继承和保护继承对基类成员的访问机制。
4、理解虚基类的目的和作用。
实验内容
(-)实验题目一: 声明一个圆类作为基类,含成员数据半径R;有成员函数:构造函数实现对基类成员数 据的初始化、计算圆面积的成员函数、输出的成员函数,要求输出圆半径R。把圆类作为基 类,通过公有继承,派生圆柱体类,派生类新增成员数据有高(H);新增成员函数有构造函 数、计算圆柱体体积的函数、输出所有成员的函数。main()完成派生类对象的定义和相关函 数的测试。
程序源代码:
#includeiostream
using namespace std;
class round
{
public:
round(float m)
{
rad=m;
}
float space()
{
sp=3.14*rad*rad;
return sp;
}
void display()
{
coutthe round of informationendl;
cout该圆半径: radendl;
cout该圆面积: space()endl;
}
protected:
float rad;
float sp;
};
class cylinder: public round
{
public:
cylinder(float m,float n):round(m)
{
high=n;
}
void gethigh(float n)
{
high=n;
}
float room()
{
bulk=3.14*rad*rad*high;
return bulk;
}
void play()
{
coutthe cylinder of information:endl;
cout该圆柱高: highendl;
cout该圆柱体积: room()endl;
}
protected:
float high;
float bulk;
};
int main()
{
float m,n;
cout输入该圆半径:;
cinm;
cout输入该圆柱高:;
cinn;
cylinder ss(m,n);
ss.display();
ss.play();
}
3.实验结果:
(二)实验题目二: 声明一个学生类,有成员函数:学号、姓名、性别、年龄,要求有如下成员函数:构造 函数,输出所有成员的函数。声明一个课程类,有成员数据:课程编号、课程名称、学时数,要求有如下成员函数:构造函数,输出所有成员的函数。将学生类和课程类作为基类,通过公有继承,派生选课类,派生类新增成员数据有:成绩;新成员函数有:构造函数,输出所有成员的函数。main()完成派生类对象的定义和相关函数的测试。
2.程序源代码:
#includeiostream
using namespace std;
#includestring
class student //student的类
{
public:
student() //student默认构造函数
{
}
void set1(char *n,char* id,char *s,int y)
{
name=n;
ID=id;
sex=s;
year=y;
}
void get1()
{
coutname: name
显示全部