题目:
有一个Person类,私有数据成员name、age和sex分别表示人的姓名、年龄和性别。雇员类Employee是Person的派生类,新增数据成员部门department和薪水salary。请用C++代码描述这两个类,并用Employee类的成员函数Display实现雇员的姓名、年龄、性别、部门和薪水的输出。(要求编写派生类的构造函数)
#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
Person(char *s1 = " ", int a = 0, char *s2 = " ")
{
strcpy(name, s1);
age = a;
strcpy(sex, s2);
}
void Display()
{
cout << name << " " << age << " " << sex << " ";
}
private:
char name[8];
int age;
char sex[2];
};
class Employee:public Person
{
public:
Employee(char *s1 = " ", int a = 0, char *s2 = " ", char *s3 = " ", double s = 0):Person(s1, a, s2)
{
strcpy(department, s3);
salary = s;
}
void Display()
{
Person::Display(); //因为name、age和sex是私有数据成员,所以要基类调用。
cout << department << " " << salary << endl;
}
private:
char department[20];
double salary;
};
void main()
{
Employee ee("张三",28,"男","计算机",8108.6);
ee.Display();
}
运行结果: