实验6 继承与派生
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 继承与派生
专业:计算机科学与技术班级:10计本1班学号:姓名:
实验地点:B102实验时间:2011/11/23 指导教师:李佐勇
一、实验目的
1.理解继承与派生、单继承与多继承的概念;
2.理解基类与派生类的定义及使用方法,派生类对象的定义与初始化方法;
3.理解继承与派生过程中,把派生类作为基类构成类族的概念及虚基类的概念。
二、实验环境
一台PC机,Windows XP操作系统,V isual C++ 6.0开发环境。
三、实验内容
1、由在校人员类(Person)作为基类派生出学生类(Student):
在校人员类有数据成员:编号(ID)、姓名(Name)、性别(Sex)、年龄(Age),要求有如下函数成员:构造函数、获取编号的函数和输出所有成员的函数。把在校人员类作为基类,通过公有继承,派生出学生类,派生类新增成员数据有数学(Math)、物理(Physical)、英语(English)和C++程序设计(CPP)四门课程以及总成绩(Total);新增成员函数有构造函数和输出所有成员的函数。main()完成派生类对象的定义和有关成员函数的测试。
2、由学生类、课程类作为基类,共同派生出选课类。
声明一个学生类(Student),有数据成员:学号(No)、姓名(Name)、性别(Sex)、年龄(Age),要求有如下函数成员:构造函数、输出所有成员的函数。
声明一个课程类(Lesson),有数据成员:课程编号(Cno)、课程名称(Cname)、学时数(Chour),要求有如下函数成员:构造函数、输出所有成员的函数。
将学生类和课程类作为基类,通过公有继承,共同派生出选课类(SL),派生类新增数据成员:成绩(Score);新增函数成员:构造函数、输出所有成员的函数。
main()完成派生类对象的定义和有关成员函数的测试。
3、由二维坐标点类Point作为基类派生出圆类Circle;再由圆类Circle作为基类派生出圆柱体类Cylinder。(提示:点类Point的数据成员为点坐标x、y,函数成员有构造函数和显示点坐标的函数show;Circle类新增数据成员为圆的半径radius,其成员函数show除了显示圆心的坐标外还能显示半径大小;Cylinder类新增数据成员为圆柱体高度height,其成员函数除了显示基类的所有数据成员外,还得显示圆柱体的高度)
四、实验记录
1、#include
#include
using namespace std;
class Person{
public:
Person(int i,char *n, char s, int a){
ID=i;
name=n;
sex=s;
age=a;
};
int getID(){
return ID;
}
void show(){
cout<<"ID: "< cout<<"name : "< cout<<"sex: "< cout<<"age: "< } private: int ID; string name; char sex; int age; }; class Student:public Person{ public: Student(int i,char *n,char s,int a,float m,float p,float e,float c):Person(i,n,s,a){ math=m; physical=p; english=e; cpp=c; total=math+physical+english+cpp; } void show(){ Person::show(); cout<<"math: "<