c++实验8 继承与派生上机练习题(14页).doc
-
资源ID:34789373
资源大小:26.50KB
全文页数:14页
- 资源格式: DOC
下载积分:15金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
c++实验8 继承与派生上机练习题(14页).doc
-1. 定义一个哺乳动物类Mammal,并从中派生出一个狗类Dog,下面给出Mammal类的定义,要求:(1) 添加Dog类的颜色数据成员,访问属性为私有,通过SetColor和GetColor成员函数来对颜色进行设置和获取。(2) 分别为基类和派生类添加相应的构造函数(有参、无参)和析构函数,并进行测试。class Mammalprotected: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 <iostream.h>#include <string>using namespace std;class Mammalprotected: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 Mammalprotected:char itscolor20;public:Dog();void Setcolor(char *color) strcpy(itscolor,color); void getcolor()cout<<"狗的颜色"<<itscolor<<endl;/定义Dog类的数据成员和成员函数;/Mammal:Mammal()int age1,weight1;cout<<"请输入动物的年龄:"<<endl;cin>>age1;SetAge(age1);cout<<"请输入动物的体重:"<<endl;cin>>weight1;SetWeight(weight1);Mammal:Mammal()cout<<"Destructor called."<<endl;Dog:Dog()char color20;cout<<"请输入狗的颜色:"<<endl;cin>>color;Setcolor(color);cout<<"狗的颜色"<<itscolor<<"体重"<<GetWeight()<<"年龄"<<GetAge()<<endl;void main()Dog dog1;(4)设计人员基类Person。其成员包括:数据成员:姓名(字符数组)、性别(字符数组)和年龄(整型)成员函数:SetPerson,设置人员数据函数;DisplayPerson,显示人员数据函数;设计派生类1:Teacher,派生于Person。新增成员包括:数据成员:职称(字符数组)、教研室(字符数组)和所授课程(字符数组)成员函数:SetTeacher,设置数据成员函数;DisplayTeacher,显示数据成员函数;设计派生类2:Student,派生于Person。新增成员包括:数据成员:专业(字符数组)、班级(字符数组)和类别(int)其中类别取值:1(本科生)、2(硕士生)、3(博士生)成员函数:SetStudent,设置数据成员函数;DisplayStudent,显示数据成员函数;设计派生类3:PostDoctor(博士后),多重继承于Student与Teacher。新增成员包括:数据成员:无成员函数:SetPostDoctor,设置数据成员函数;DisplayPostDoctor,显示数据成员函数;主函数:输入并输出一个教师、一个本科生、一个博士后数据。#include <iostream.h>#include <string>using namespace std;#define n 20/类的定义class Personprotected:char namen;char sexn;int age;public:Person();void setperson();void displayperson();class Teacher :virtual public Personprotected:char jobn;char roomn;char subjectn;public :Teacher();void setteacher();void displayteacher();class Student:virtual public Personprotected:char majorn;char banjin;int leibie;public :Student();void setstudent();void displaystudent();class Postdoctor:public Teacher,public Studentpublic :Postdoctor();void setpostdoctor();void displaypostdoctor();/结构函数Person:Person()setperson();Teacher:Teacher()setteacher();Student:Student()setstudent();Postdoctor:Postdoctor()/设置数据/void Person:setperson()cout<<"*"<<"姓名:"cin>>name;cout<<"*"<<"性别:"cin>>sex;cout<<"*"<<"年龄:"cin>>age;void Teacher:setteacher()cout<<"*"<<"职称:"cin>>job;cout<<"*"<<"教研室:"cin>>room;cout<<"*"<<"所授课程:"cin>>subject;void Student:setstudent()cout<<"*"<<"专业:"cin>>major;cout<<"*"<<"班级:"cin>>banji;cout<<"*"<<"类别(1本科2硕士3博士):"cin>>leibie;/数据显示/void Person:displayperson()cout<<"姓名:"<<name<<"性别:"<<sex<<"年龄:"<<age;void Teacher:displayteacher()displayperson();cout<<"职称:"<<job<<"教研室:"<<room<<"所授课程:"<<subject<<endl;void Student:displaystudent()displayperson();cout<<"专业:"<<major<<"班级:"<<banji<<"类别:"<<leibie<<endl;void Postdoctor:displaypostdoctor()displayperson();cout<<"职称:"<<job<<"教研室:"<<room<<"所授课程:"<<subject<<"专业:"<<major<<"班级:"<<banji<<"类别:博士后"<<endl;/void main()cout<<"您正在输入一个老师的信息:"<<endl;Teacher t1;cout<<"*syy割"<<endl;cout<<"您正在输入一个学生的信息:"<<endl;Student s1;cout<<"*syy割"<<endl;cout<<"您正在输入一个博士后的信息:"<<endl;Postdoctor p1;cout<<"*syy割"<<endl;cout<<endl;t1.displayteacher();cout<<endl;s1.displaystudent();cout<<endl;p1.displaypostdoctor();第 14 页-