c++使用继承和派生的方式编写一个学生和教师数据输入和显示程序(使用构造函数)。学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名的输入和显示设计成一个类person,并作为学生类student和教师类teacher的基类。
时间: 2023-06-14 21:05:56 浏览: 164
c++继承和派生 ppt
以下是使用继承和派生的方式编写的学生和教师数据输入和显示程序:
```c++
#include <iostream>
#include <string>
using namespace std;
class Person {
protected:
int id;
string name;
public:
Person(int id, string name) {
this->id = id;
this->name = name;
}
void display() {
cout << "编号:" << id << endl;
cout << "姓名:" << name << endl;
}
};
class Student : public Person {
private:
int class_no;
int score;
public:
Student(int id, string name, int class_no, int score) : Person(id, name) {
this->class_no = class_no;
this->score = score;
}
void display() {
Person::display();
cout << "班号:" << class_no << endl;
cout << "成绩:" << score << endl;
}
};
class Teacher : public Person {
private:
string title;
string department;
public:
Teacher(int id, string name, string title, string department) : Person(id, name) {
this->title = title;
this->department = department;
}
void display() {
Person::display();
cout << "职称:" << title << endl;
cout << "部门:" << department << endl;
}
};
int main() {
Student s(1001, "张三", 1, 90);
s.display();
Teacher t(2001, "李四", "教授", "计算机科学与技术");
t.display();
return 0;
}
```
在上面的代码中,我们定义了一个基类`Person`,它包含了编号和姓名的输入和显示功能。然后我们定义了两个派生类`Student`和`Teacher`,它们都继承了`Person`类,同时还包含了自己的数据和显示方法。在主函数中,我们分别定义了一个`Student`对象和一个`Teacher`对象,并调用它们的`display()`方法来输出数据。
阅读全文