教师类(多重继承)

原创 2016年08月29日 08:44:35

分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: 
(1)在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。 
(2)在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务),在Teacher_Cadre类中还包含数据成员wages(工资)。 
(3)对两个基类中的姓名、年龄、性别、地址、电话等数据成员用相同的名字,在引用这些数据成员时,指定作用域。 
(4)在类体中声明成员函数,在类外定义成员函数。 
(5)在派生类Teacher_Cadre的成员函数show中调用Teacher类中的display函数,输出姓名、年龄、性别、职称、地址、电话,然后再用cout语句输出职务与工资。

#include<iostream>
#include<string>
using namespace std;

class Teacher
{
public:
	Teacher(string na,int a,string s,string ad,long int t,string ti):
	  name(na),age(a),sex(s),addr(ad),tel(t),title(ti){}
	void display();
private:
	string name;
	int age;
	string sex;
	string addr;
	long int tel;
	string title;//职称
};
void Teacher::display()
{
	cout<<"姓名:"<<name<<endl;
	cout<<"年龄:"<<age<<endl;
	cout<<"性别:"<<sex<<endl;
	cout<<"地址:"<<addr<<endl;
	cout<<"电话:"<<tel<<endl;
	cout<<"职称:"<<title<<endl;
}

class Cadre
{
public:
	Cadre(string na,int a,string s,string ad,long int t,string p):
	  name(na),age(a),sex(s),addr(ad),tel(t),post(p){}
	string getPost();
private:
	string name;
	int age;
	string sex;
	string addr;
	long int tel;
	string post;
};
string Cadre::getPost()
{
	return post;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public:
	Teacher_Cadre(string na,int a,string s,string ad,long int t,string ti,double we,string po);
	void show();
private:
	double weges;
};

Teacher_Cadre::Teacher_Cadre(string na,int a,string s,string ad,long int t,string ti,double we,string po):
	Teacher(na,a,s,ad,t,ti),Cadre(na,a,s,ad,t,po),weges(we){}
void Teacher_Cadre::show()
{
	display();
	cout<<"职务:"<<getPost()<<endl;
	cout<<"工资:"<<weges<<endl;
}
int main()
{
	Teacher_Cadre P("张三",24,"男","南岭路",18956564878,"教师",3600.36,"教导主任");
	P.show();
	return 0;
}

运行结果:


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

十三周项目二多重继承教师类和干部类

/* * 程序的版权和版本声明部分: * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cp...

第十二周任务二 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式有这两个类派生出Teacher_Cadre

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:第十...

2013级C++第12周(春)项目——成员的访问属性、多重继承 【项目2 - 教师兼干部类】

/* * 程序的版权和版本声明部分 * Copyright (c)2014, 在校学生 * All rightsreserved. * 文件名称: 1.cpp * 作 者: 刘旺 * 完成日期...

第十二周任务一(多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))

【题目】(教材P394习题9)分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: (1)在两个基类中都包含姓...

《第十二周任务二》分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre

/* (程序头部注释开始)  * 程序的版权和版本声明部分  * Copyright (c) 2012, 烟台大学计算机学院学生   * All rights reserved.  * 文件名...

请贺老师帮我看看这个乱码问题【任务2】分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre

【任务2】(教材P394习题9)分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: (1)在两个基类中都...

《C++第十二周实验报告2-1》--分别定义Teacher(教师)类和Cadre(干部采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)

/* 【任务2】(教材P394习题9)分别定义Teacher(教师)类和Cadre(干部)类, 采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求: (1)在两...

分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:  ...

第12周任务2(分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部))

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...

第十二周实验指导--任务2--分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:分别...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:教师类(多重继承)
举报原因:
原因补充:

(最多只允许输入30个字)