定义一个Teacher(教师)类和一个Student(学生)类,二者有共同的数据成员name(姓名)、age(年龄)、addr(地址),编写这两个类,用以下主程序调用 主程序如下(不能修改): int main() { Teacher t; Student s; s.get_value(); t = s; t.display(); return 0; }
时间: 2024-03-18 18:39:22 浏览: 262
以下是一个可能的实现,其中Teacher类和Student类都继承自一个基类Person类,用于存储共同的数据成员name、age和addr。
```c++
#include <iostream>
#include <string>
using namespace std;
class Person {
protected:
string name;
int age;
string addr;
public:
void get_value() {
cout << "请输入姓名:";
cin >> name;
cout << "请输入年龄:";
cin >> age;
cout << "请输入地址:";
cin >> addr;
}
};
class Teacher : public Person {
public:
void display() {
cout << "教师信息:" << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "地址:" << addr << endl;
}
};
class Student : public Person {
public:
void display() {
cout << "学生信息:" << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "地址:" << addr << endl;
}
};
int main() {
Teacher t;
Student s;
s.get_value();
t = s;
t.display();
return 0;
}
```
在上述代码中,我们首先定义了一个基类Person,其中包含了三个公共的数据成员name、age和addr。然后我们分别定义了Teacher类和Student类,这两个类都继承自Person类,并且没有定义任何新的数据成员或成员函数。最后,在主程序中我们创建了一个Teacher对象t和一个Student对象s,并调用了s的get_value()方法获取学生信息。然后我们将s赋值给t,这是合法的,因为Teacher是Person的子类,而Student也是Person的子类,它们拥有相同的数据成员和成员函数。最后我们调用t的display()方法,输出教师信息。
阅读全文