用c++语言实现定义人员类Person,已派生出学生类Student和教师类 Teacher, 学生类和教匝类又共同派生出助教类RA。在主区数中使用构造函数初始化助教类对象的信息 并打印输出。用公有继承实现,人员类有姓名、性别、出生年月,学生类有学号、专业信息,教币类有所厲学校信息
时间: 2024-02-22 12:00:02 浏览: 72
基于C++实现(控制台)学校人员信息系统【100010113】
好的,我可以为您解答这个问题。以下是C++代码实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
string name;
string gender;
string dob;
Person(string n, string g, string d): name(n), gender(g), dob(d) {}
};
class Student : public Person {
public:
string student_id;
string major;
Student(string n, string g, string d, string id, string m): Person(n, g, d), student_id(id), major(m) {}
};
class Teacher : public Person {
public:
string school;
Teacher(string n, string g, string d, string s): Person(n, g, d), school(s) {}
};
class RA : public Student, public Teacher {
public:
RA(string n, string g, string d, string id, string m, string s): Student(n, g, d, id, m), Teacher(n, g, d, s) {}
};
int main() {
RA ra("Tom", "Male", "2000-01-01", "123456", "Computer Science", "Stanford University");
cout << "Name: " << ra.name << endl;
cout << "Gender: " << ra.gender << endl;
cout << "Date of Birth: " << ra.dob << endl;
cout << "Student ID: " << ra.student_id << endl;
cout << "Major: " << ra.major << endl;
cout << "School: " << ra.school << endl;
return 0;
}
```
在上面的代码中,我们定义了四个类:Person、Student、Teacher和RA(助教)。Person类有三个成员变量:name、gender和dob,分别代表姓名、性别和出生年月。Student类是Person类的派生类,有两个额外成员变量:student_id和major,分别代表学号和专业信息。Teacher类也是Person类的派生类,有一个额外的成员变量:school,代表所在学校信息。RA类是Student和Teacher类的共同派生类,即同时继承了Student和Teacher类。在主函数中,我们创建了一个RA对象,通过构造函数初始化对象的信息,并打印输出。
输出结果为:
```
Name: Tom
Gender: Male
Date of Birth: 2000-01-01
Student ID: 123456
Major: Computer Science
School: Stanford University
```
希望以上代码能够对您有所帮助。
阅读全文