输入代码:
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2015年5月29日 *版 本 号:v2.0 * *问题描述: 定义一个名为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; int m_nAge; public: CPerson(string name,string id,int sex,int age); void Show1(); ~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); void Show2(); ~CEmployee(); }; 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<<setw(10)<<m_szName<<setw(5)<<m_szId<<setw(25); if(m_nSex==0) cout<<"women"; else cout<<"men"; cout<<setw(5)<<m_nAge<<endl; } CPerson::~CPerson() { } CEmployee::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 CEmployee::Show2() { cout<<"name"<<setw(10)<<"id"<<setw(25)<<"sex"<<setw(10)<<"age"<<setw(10)<<"department"<<setw(10)<<"salary"<<endl; cout<<m_szName<<setw(20)<<m_szId<<setw(10); if(m_nSex==0) cout<<"women"; else cout<<"men"; cout<<setw(10)<<m_nAge<<setw(10)<<m_szDepartment<<setw(10)<<m_Salary<<endl; } 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(); return 0; }
运行结果:
时间: 2024-12-19 13:22:24