使用c++完成编程:现有一个基类(class Base)包括name、sex两个数据成员和一个getdata( )成员函数,编程实现以下要求: (1)从基类中派生出一个学生类,增加score(分数)数据成员和用于输入数据的get1( )、用于输出三个数据成员的display1( ); (2)从基类中派生出一个教师类,增加salary(工资)数据成员和用于输入数据的get2( )、用于输出三个数据成员的display2( )。 (3)为上述2个派生类分别添加构造函数。
时间: 2024-02-21 18:59:14 浏览: 79
以下是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Base {
protected:
string name;
char sex;
public:
void getdata() {
cout << "请输入姓名、性别(M/F):" << endl;
cin >> name >> sex;
}
};
class Student : public Base {
private:
int score;
public:
Student() {
score = 0;
}
void get1() {
Base::getdata();
cout << "请输入分数:" << endl;
cin >> score;
}
void display1() {
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
cout << "分数:" << score << endl;
}
};
class Teacher : public Base {
private:
float salary;
public:
Teacher() {
salary = 0;
}
void get2() {
Base::getdata();
cout << "请输入工资:" << endl;
cin >> salary;
}
void display2() {
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
cout << "工资:" << salary << endl;
}
};
int main() {
Student s;
s.get1();
s.display1();
Teacher t;
t.get2();
t.display2();
return 0;
}
```
在上面的代码中,我们首先定义了一个基类 `Base`,包括姓名和性别两个数据成员以及一个 `getdata()` 成员函数,用于输入姓名和性别。
然后我们从 `Base` 派生出了一个学生类 `Student`,增加了分数数据成员和用于输入和输出三个数据成员的 `get1()` 和 `display1()` 成员函数。在 `Student` 类中,我们还添加了一个默认构造函数,用于给分数数据成员初始化。
接着我们从 `Base` 派生出了一个教师类 `Teacher`,增加了工资数据成员和用于输入和输出三个数据成员的 `get2()` 和 `display2()` 成员函数。在 `Teacher` 类中,我们同样添加了一个默认构造函数,用于给工资数据成员初始化。
最后在 `main()` 函数中,我们创建了 `Student` 和 `Teacher` 类的对象,并分别调用了它们的成员函数进行输入和输出。
阅读全文