定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(
来源:互联网 发布:二手工作站笔记本 知乎 编辑:程序博客网 时间:2024/05/16 11:54
5.定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(教师兼干部)类,各类之间的继承关系如图1.1所示。
图2.1 各类之间的继承关系
要求:
(1)在Person类中包含的数据成员有姓名(name)、年龄(age)、性别(sex)。在Teacher类还包含数据成员职称(title),在Cadre类中还包含数据成员职务(post),在TeacherCadre类中还包含数据成员工资(wages)。
(2)在类体中定义成员函数。
(3)每个类都有构造函数与显示信息函数(Show)。
#include<iostream>
using namespace std;
class person{
private:
char *name;
int age;
char sex;
static int len;
public:
person(char *a,int b,char c):age(b),sex(c){
name=a;
}
~person(){}
int getage(){return age;}
char getsex(){return sex;}
char *getname(){
return name;
}
void show(){
cout<<"name:"<<getname();
cout<<"\nage:"<<getage()<<"\nsex:"<<getsex()<<endl;
}
};
class Teacher:public person{
private:
char *title;
public:
Teacher(char *a,int b,char c,char *d):person(a,b,c){
title=d;
}
~Teacher(){}
char *gettitle(){
return title;
}
void show(){
person::show();
cout<<"title:"<<gettitle()<<endl;
}
};
class Cadre:public person{
private:
char *post;
public:
Cadre(char *a,int b,char c,char *d):person(a,b,c){
post=d;
}
~Cadre(){}
char *getpost(){
return post;
}
void show(){
person::show();
cout<<"post:"<<getpost()<<endl;
}
};
class TeacherCadre:virtual public Cadre,public Teacher{
private:
int wages;
char *post;
public:
TeacherCadre(char *a,int b,char c,char *d,char *e,int f):Cadre(a,b,c,e),Teacher(a,b,c,d),wages(f){
post=e;
}
~TeacherCadre(){}
int getwages(){return wages;}
void show(){
Teacher::show();
cout<<"post:"<<Cadre::getpost();
cout<<"\nwages:"<<getwages()<<endl;
}
};
void main()
{
TeacherCadre q("mm",20,'m',"daza","saodi",5000);
q.show();
}
- 定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(
- 定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(
- 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
- 《第十二周任务二》分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre
- 第12周任务2(分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))
- 第十二周实验指导--任务2--分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
- 《C++第十二周实验报告2-1》--分别定义Teacher(教师)类和Cadre(干部采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)
- Chapter11——分别声明Teacher(教师类)和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。
- 第十三周 项目二:定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式,派生出Teacher_Cadre(教师兼干部)类
- C++第十二周【任务2】定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。
- 第十二周任务二 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式有这两个类派生出Teacher_Cadre
- 请贺老师帮我看看这个乱码问题【任务2】分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre
- 分别定义Teacher(教师)类和Cadre(干部)类
- 任务二:分别定义Teacher(教师)类和Cadre(干部)类
- 在程序中定义一个基类Person类,由这个基类派生出Teacher(教师)类和Leader(领导)类。采用多继承的方式由这两个类派生出Teacher_Leader类。并且满足以下要求:
- 第十三周--项目2-采用多重继承方式由Teacher类和Cadre类派生出Teacher_Cadre
- 十二周任务2 分别定义Teacher(教师)类和Cadre(干部)类
- 第十二周任务一(多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))
- uva11029 - Leading and Trailing n^k保留前三位
- 软件工程视频(前四章小结-图)
- 文件输入输出操作
- 【Cocos2d-x】Win7+ vs2012,2010 + Cocos2d-x2.2 配置Cocos2d-X项目-环境
- 文件
- 定义Person(人)类,由Person分别派生出Teacher(教师)类和Cadre(干部)类,再由Teacher(教师)类和Cadre(干部)类采用多重继承方式派生出新类TeacherCadre(
- COCOS2D-X 2.1.3没有CCListView,被CCTableView代替了
- linux下SVN服务搭建:apache+svn+usvn+php+mysql
- HDU 2021 - 发工资咯:)(贪心)
- erlide 脆弱的环境配置
- 调试程序的部分功能最好不要在虚拟机上
- 迷惘
- 克隆数据库
- JQuery插件--星级评分