3. 定义一个基类teacher,它有公有成员函数showinfo(),函数打印数据成员信息,有私有数据成员int num,string name,char sex。派生类professor是teac
时间: 2023-09-22 18:01:59 浏览: 118
定义基类person,数据成员name,sex,age,构造函数,析构函数,输出name,sex,age的函数display()。②定义公有派生类student
### 回答1:
her的子类,增加了一个私有数据成员string title,并且重载了showinfo()函数,打印出所有数据成员的信息。
定义基类teacher:
```
class teacher {
public:
void showinfo() {
cout << "num: " << num << endl;
cout << "name: " << name << endl;
cout << "sex: " << sex << endl;
}
private:
int num;
string name;
char sex;
};
```
定义派生类professor:
```
class professor : public teacher {
public:
void showinfo() {
teacher::showinfo();
cout << "title: " << title << endl;
}
private:
string title;
};
```
在派生类中重载showinfo()函数,先调用基类的showinfo()函数,再打印出新增的数据成员title的信息。
### 回答2:
基类teacher的定义如下:
```cpp
class teacher {
public:
void showinfo() {
cout << "教师编号:" << num << endl;
cout << "姓名:" << name << endl;
cout << "性别:" << sex << endl;
}
private:
int num;
string name;
char sex;
};
```
派生类professor的定义如下:
```cpp
class professor : public teacher {
};
```
在派生类professor中,可以直接使用基类teacher中的公有成员函数showinfo()来打印数据成员信息。例如,可以创建一个professor对象,并调用showinfo()函数来显示教师信息:
```cpp
professor p;
p.showinfo();
```
这样就会打印出基类teacher中定义的数据成员信息:教师编号、姓名和性别。同时,派生类professor也继承了基类teacher中定义的私有数据成员int num、string name和char sex,可以在派生类中使用这些私有数据成员。但由于私有数据成员无法直接访问,所以在派生类中无法直接打印出这些私有数据成员的信息。只能通过调用基类的公有成员函数showinfo()来输出私有数据成员的信息。
### 回答3:
定一个基类Teacher,它有公有成员函数showinfo(),该函数打印基类的数据成员信息。基类的私有数据成员有一个int类型的num和一个string类型的name,还有一个char类型的sex。
派生类Professor是Teacher的派生类,继承了基类的公有成员函数和私有数据成员。在Professor类中,我们可以通过继承的showinfo()函数来打印基类和派生类的数据成员信息。
下面是一个模拟实现的例子:
```cpp
#include <iostream>
using namespace std;
class Teacher {
private:
int num;
string name;
char sex;
public:
Teacher(int n, string nam, char s) {
num = n;
name = nam;
sex = s;
}
void showinfo() {
cout << "基类Teacher的数据成员信息为:" << endl;
cout << "num: " << num << endl;
cout << "name: " << name << endl;
cout << "sex: " << sex << endl;
}
};
class Professor : public Teacher {
public:
Professor(int n, string nam, char s) : Teacher(n, nam, s) {
}
};
int main() {
Professor prof(1234, "张三", 'M');
prof.showinfo();
return 0;
}
```
在这个例子中,我们定义了一个基类Teacher和一个派生类Professor。派生类Professor继承了基类Teacher的公有成员函数showinfo(),并通过基类的构造函数初始化了继承的私有数据成员。
在main函数中,我们创建了一个派生类的对象prof,并调用了它的showinfo()函数来打印基类和派生类的数据成员信息。
输出结果为:
基类Teacher的数据成员信息为:
num: 1234
name: 张三
sex: M
阅读全文