定义类CPerson,它有以下属性:姓名、身份证号、性别、年龄、和相应的成员函数(无构造函数)。再利用CPerson派生出类CEmployee,派生类CEmployee增加了两个表示部门和薪水的数据成员,根据需要为派生类增加新的成员函数。 【任务2】定义一个名为CPerson的类,有以下私有成员:姓名、身份证号、性别和年龄,成员函数:构造函数、析构函数、输出信息的函数。 并在此基础上派生出CEmployee类,派生类CEmployee增加了两个新的数据成员,分别用于表示部门和薪水。 要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义析构函数,定义输出信息的函数。
时间: 2024-04-10 21:33:00 浏览: 103
定义一个人员类Person,数据成员有姓名,能够设置姓名的值及显示姓名
5星 · 资源好评率100%
以下是根据您的要求定义的CPerson类和CEmployee类的示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class CPerson {
private:
string name;
string id;
string gender;
int age;
public:
CPerson(string n, string i, string g, int a) {
name = n;
id = i;
gender = g;
age = a;
}
~CPerson() {}
void display() {
cout << "姓名:" << name << endl;
cout << "身份证号:" << id << endl;
cout << "性别:" << gender << endl;
cout << "年龄:" << age << endl;
}
};
class CEmployee : public CPerson {
private:
string department;
double salary;
public:
CEmployee(string n, string i, string g, int a, string d, double s) : CPerson(n, i, g, a) {
department = d;
salary = s;
}
~CEmployee() {}
void display() {
CPerson::display();
cout << "部门:" << department << endl;
cout << "薪水:" << salary << endl;
}
};
int main() {
CEmployee emp("张三", "1234567890", "男", 30, "技术部", 5000);
emp.display();
return 0;
}
```
这段代码定义了一个CPerson类和一个CEmployee类。CPerson类有私有成员姓名、身份证号、性别和年龄,以及构造函数、析构函数和输出信息的函数。CEmployee类是从CPerson类派生而来的,增加了两个新的数据成员部门和薪水,并在构造函数中显示调用基类CPerson的构造函数。CEmployee类也定义了析构函数和输出信息的函数,输出了基类和派生类的信息。
在main函数中,创建了一个CEmployee对象emp,并调用了它的display函数来输出信息。
阅读全文