//定义一个名为CPerson的类,有下面 //私有成员:姓名、身份证号、性别和年龄 //成员函数:构造函数、析构函数、输出信息的函数。 //在此基础上派生出CEmployee类,派生类CEmployee添加了两个新的数据成员,分别用于表示部门和薪水。 //要求派生类CEmployee的构造函数显示调用基类CPerson的构造函数,并为派生类CEmployee定义析构函数,定义输出信息的函数。 #include<iostream> #include<string> #include<iomanip> using namespace std; class CPerson { protected:string m_szName;string m_szId;int m_nSex;//0:women,1:manint m_nAge; public:CPerson(string name, string id, int sex, int age);void Show1();~CPerson(); }; CPerson::CPerson(string name, string id, int sex, int age):m_szName(name), m_szId(id), m_nSex(sex),m_nAge(age){} void CPerson::Show1() { cout << "name" << setw(20) << "id" << setw(8) << "sex" << setw(6) << "age" << setw(12) << "department" << setw(10) << "salary" << endl;cout << m_szName << setw(20) << m_szId << setw(8);if (m_nSex == 1)cout << "man";elsecout << "women";cout << setw(6) << m_nAge; } CPerson::~CPerson() { } class CEmployee :public CPerson { private:string m_szDepartment;double m_Salary; public:CEmployee(string name, string id, int sex, int age, string department, double salary) :CPerson(name, id, sex, age), m_szDepartment(department), m_Salary(salary){}void Show2();~CEmployee(); }; void CEmployee::Show2() { Show1();cout << setw(12) << m_szDepartment << setw(10) << m_Salary; } CEmployee::~CEmployee() { } int main() { string name, id, department;int sex, age;double salary;cout << "input employee's name,id,sex(0:women,1:man),age,department,salary:\n";cin >> name >> id >> sex >> age >> department >> salary;CEmployee employee1(name, id, sex, age, department, salary);employee1.Show2();getchar();return 0; }