编写一个教师类,具有工号、姓名等属性,再通过派生声明一个大学教师教师类,并添加专业、学校名称等新属性,同时要求实例化一个教师类对象,并输出其中的属性值。
时间: 2024-02-09 10:09:24 浏览: 20
好的,以下是代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义教师类
class Teacher {
public:
// 构造函数
Teacher(int id, string name) : m_id(id), m_name(name) {}
// 获取工号
int getId() const {
return m_id;
}
// 获取姓名
string getName() const {
return m_name;
}
private:
int m_id; // 工号
string m_name; // 姓名
};
// 定义大学教师类
class UniversityTeacher : public Teacher {
public:
// 构造函数
UniversityTeacher(int id, string name, string major, string school)
: Teacher(id, name), m_major(major), m_school(school) {}
// 获取专业
string getMajor() const {
return m_major;
}
// 获取学校名称
string getSchool() const {
return m_school;
}
private:
string m_major; // 专业
string m_school; // 学校名称
};
int main() {
// 实例化一个教师类对象
Teacher teacher(123456, "张三");
// 输出属性值
cout << "工号:" << teacher.getId() << endl;
cout << "姓名:" << teacher.getName() << endl;
// 实例化一个大学教师类对象
UniversityTeacher uniTeacher(789012, "李四", "计算机科学与技术", "清华大学");
// 输出属性值
cout << "工号:" << uniTeacher.getId() << endl;
cout << "姓名:" << uniTeacher.getName() << endl;
cout << "专业:" << uniTeacher.getMajor() << endl;
cout << "学校名称:" << uniTeacher.getSchool() << endl;
return 0;
}
```
输出结果:
```
工号:123456
姓名:张三
工号:789012
姓名:李四
专业:计算机科学与技术
学校名称:清华大学
```