题目内容:
分别声明Teacher类和Cadre类,采用多重继承派生出新类Teacher_Dadre。要求:
(1)在两个基类中都包含姓名、年龄、性别、地址和电话。
(2)在Teacher类中包含title数据成员,Cadre中包含post。在Teacher_Cadre中包含wages。
(3)对两个基类中的姓名、年龄、性别、地址和电话用相同的名字,在引用这些数据成员时,指定作用域。
输出样例如图:
代码如下:
#include<iostream>
#include<string>
using namespace std;
class teacher
{
protected:
string name;
string gender;
int age;
string address;
string phone;
string title;
public:
teacher(string n, string g, int a, string addr, string p, string t)
: name(n), gender(g), age(a), address(addr), phone(p), title(t) {}
void showteacher()
{
cout << "姓名: " << name << endl;
cout << "性别: " << gender << endl;
cout << "年龄: " << age << endl;
cout << "地址: " << address << endl;
cout << "电话: " << phone << endl;
cout << "职称: " << title << endl;
}
};
class Cadre
{
protected:
string name;
string gender;
int age;
string address;
string phone;
string post;
public:
Cadre(string n, string g, int a, string addr, string p, string pos)
: name(n), gender(g), age(a), address(addr), phone(p), post(pos) {}
void showCadre()
{
cout << "职位: " << post << endl;
}
};
class teacher_Cadre : public teacher, public Cadre
{
private:
float wages;
public:
teacher_Cadre(string n, string g, int a, string addr, string p, string t, string pos, float w)
: teacher(n, g, a, addr, p, t), Cadre(n, g, a, addr, p, pos), wages(w) {}
void showteacherCadre()
{
showteacher();
showCadre();
cout << "工资: " << wages << endl;
}
};
int main()
{
teacher_Cadre T = teacher_Cadre("雷欧", "男", 999999, "狮子座", "10000000000", "教授", "王子", 12000);
T.showteacherCadre();
return 0;
}
这段 C++ 代码实现了一个简单的面向对象程序,用于管理教师干部的信息。下面将逐步解释代码的各个部分。具体解释如下:
1. Teacher类的定义
name
:教师的姓名。gender
:教师的性别。age
:教师的年龄。address
:教师的地址。phone
:教师的电话号码。title
:教师的职称。- 构造函数:
teacher(string n, string g, int a, string addr, string p, string t)
用于初始化教师对象的各个成员变量。- 成员函数:
showteacher()
用于输出教师的信息。2. Gadra类的定义
name
:干部的姓名。gender
:干部的性别。age
:干部的年龄。address
:干部的地址。phone
:干部的电话号码。post
:干部的职位。- 构造函数:
Cadre(string n, string g, int a, string addr, string p, string pos)
用于初始化干部对象的各个成员变量。- 成员函数:
showCadre()
用于输出干部的职位信息。3. Teacher_Gadre类的定义
- 继承关系:
teacher_Cadre
类从teacher
类和Cadre
类公有继承,这意味着它可以访问teacher
类和Cadre
类的公有和保护成员。- 成员变量:
wages
表示教师干部的工资。- 构造函数:
teacher_Cadre(string n, string g, int a, string addr, string p, string t, string pos, float w)
调用teacher
类和Cadre
类的构造函数来初始化继承的成员变量,并初始化自身的wages
成员变量。- 成员函数:
showteacherCadre()
调用showteacher()
和showCadre()
函数分别输出教师和干部的信息,然后输出教师干部的工资信息。4. main函数
- 创建一个
teacher_Cadre
类的对象T
,并使用构造函数初始化其成员变量。- 调用
T.showteacherCadre()
函数输出教师干部的信息。
觉得有帮助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交流
友友们一起加油叭QAQ