c++实验8继承与派生上机练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 定义一个哺乳动物类Mamma,l 并从中派生出一个狗类Dog,要求:

( 1) 添加Dog 类的颜色数据成员,访问属性为私有,通过函数来对颜色进行设置和获取。

( 2) 分别为基类和派生类添加相应的构造函数(有参、无参) 测试。

class Mammal

{ protected:

int itsAge;

int itsWeight;

public:

int GetAge(){return itsAge;}

void SetAge(int age) {itsAge=age;}

int GetWeight() { return itsWeight;}

void SetWeight(int weight) {itsWeight= weight;}

};

class Dog : public Mammal

{

// 定义Dog 类的数据成员和成员函数

};

改:

#include

#include

using namespace std;

class Mammal

{

protected:

int itsAge;

int itsWeight;

public:

Mammal();

~Mammal();

int GetAge(){return itsAge;}

void SetAge(int age) {itsAge=age;}

int GetWeight() { return itsWeight;}

void SetWeight(int weight) {itsWeight= weight;}

};

class Dog : public Mammal

{下面给出Mamma类的定义,SetColor 和GetColor 成员和析构函数,并进行

protected: char itscolor[20];

public:

Dog();

void Setcolor(char *color) {strcpy(itscolor,color);}

void getcolor(){cout<<" 狗的颜色"<

//////////////////////// Mammal::Mammal()

{

int age1,weight1;

cout<<" 请输入动物的年龄:"<

cin>>age1;

SetAge(age1);

cout<<" 请输入动物的体重:"<

cin>>weight1;

SetWeight(weight1);

}

Mammal::~Mammal()

{

cout<<"Destructor called."<

}

Dog::Dog()

{char color[20];

cout<<" 请输入狗的颜色:"<>color;Setcolor(color);

cout<<" 狗的颜色"<

年龄"<

}

void main()

{

Dog dog1;

}

(4)设计人员基类Person。其成员包括:

数据成员:姓名(字符数组)、性别(字符数组)和年龄(整型)成员函数:

SetPerson,设置人员数据函数;

DisplayPerso n,显示人员数据函数;

设计派生类1: Teacher,派生于Person。新增成员包括:数据成员:职称(字符数组)、教研室(字符数组)和所授课程(字符数组)成员函数:SetTeache,设置数据成员函数;

DisplayTeacher,显示数据成员函数;

设计派生类2: Student,派生于Person。新增成员包括:

数据成员:专业(字符数组)、班级(字符数组)和类别(int)其中类别取值:1(本科生)、2(硕士生)、3(博士生)成员函数:SetStude n,设置数据成员函数;

DisplayStude nt,显示数据成员函数;

设计派生类3: PostDoctor (博士后),多重继承于Student与Teacher。新增成员包括: 数据成员:无

成员函数:SetPostDoctor,设置数据成员函数;DisplayPostDoctor ,显示数据成员函数;

主函数:输入并输出一个教师、一个本科生、一个博士后数据。

#include

#include

using namespace std;

#define n 20

//////////// 类的定义

class Person

{

protected:

char name[n];

char sex[n]; int age;

public:

Person();

void setperson();

void displayperson();

};

class Teacher :virtual public Person

{

protected:

char job[n];

char room[n];

char subject[n];

public :

Teacher(); void setteacher(); void displayteacher();

};

相关文档
最新文档