实验6 继承与派生

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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: "<

cout<<"physical: "<

cout<<"english: "<

cout<<"C++: "<

cout<<"total: "<

}

private:

float math,physical,english,cpp,total;

};

void main(){

Person p1(1,"张帅",'M',22);

p1.show();

cout<

Student s1(9901,"林维",'S',21,65,70,75,88);

s1.show();

}

2、#include

#include

using namespace std;

class Student{

public:

Student(int i,char *n, char s, int a){

No=i;

Name=n;

Sex=s;

Age=a;

};

void show(){

cout<<"No: "<

cout<<"Name : "<

cout<<"Sex: "<

cout<<"Age: "<

}

private:

int No;

string Name;

char Sex;

int Age;

};

相关文档
最新文档