1、现有一个基类(class Base)包括name、sex两个数据成员和一个getdata( )成员函数,编程实现以下要求: (1)从基类中派生出一个学生类,增加score(分数)数据成员和用于输入数据的get1( )、用于输出三个数据成员的display1( ); (2)从基类中派生出一个教师类,增加salary(工资)数据成员和用于输入数据的get2( )、用于输出三个数据成员的display2( )。 (3)为上述2个派生类分别添加构造函数。请编程验证。
时间: 2024-02-28 18:57:53 浏览: 128
实现了一个PHP5的getter/setter基类的代码
好的,以下是实现代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class Base {
protected:
string name;
string sex;
public:
Base() {}
Base(string n, string s) : name(n), sex(s) {}
void getdata() {
cout << "请输入姓名:";
cin >> name;
cout << "请输入性别:";
cin >> sex;
}
};
class Student : public Base {
private:
int score;
public:
Student() {}
Student(string n, string s, int sc) : Base(n, s), score(sc) {}
void get1() {
Base::getdata();
cout << "请输入分数:";
cin >> score;
}
void display1() {
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
cout << "分数:" << score << endl;
}
};
class Teacher : public Base {
private:
int salary;
public:
Teacher() {}
Teacher(string n, string s, int sa) : Base(n, s), salary(sa) {}
void get2() {
Base::getdata();
cout << "请输入工资:";
cin >> salary;
}
void display2() {
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
cout << "工资:" << salary << endl;
}
};
int main() {
Student stu;
stu.get1();
stu.display1();
Teacher tea;
tea.get2();
tea.display2();
return 0;
}
```
这段代码中,我们定义了一个基类 `Base`,其中包含两个数据成员 `name` 和 `sex`,以及一个输入数据的成员函数 `getdata()`。
然后我们分别从 `Base` 类中派生出了一个学生类 `Student` 和一个教师类 `Teacher`。在派生类中,我们分别增加了一个数据成员 `score` 和 `salary`,以及用于输入数据的成员函数 `get1()` 和 `get2()`,以及用于输出三个数据成员的成员函数 `display1()` 和 `display2()`。
在 `main()` 函数中,我们分别创建了一个 `Student` 对象和一个 `Teacher` 对象,并且调用它们的成员函数进行输入和输出。
阅读全文