#include <iostream> #include <string.h> #include <iomanip>//setw:设置输出数据的宽度,使用时应#include <iomanip.h> using namespace std; class CPerson { protected: char *m_szName; char *m_szId; int m_nSex;//0:women,1:man int m_nAge; public: CPerson(char *name,char *id,int sex,int age); void Show1(); ~CPerson(){} //需要释放建立对象时动态分配的内存 }; class CEmployee:public CPerson { private: char *m_szDepartment; float m_Salary; public: CEmployee(char *name,char *id,int sex,int age,char *department,float salary); void Show2(); ~CEmployee(){} }; CPerson::CPerson (char *name,char *id,int sex,int age) { m_szName=name; m_szId=id; m_nSex=sex; m_nAge=age; } void CPerson:: Show1() { cout<<'\t'<<"name"<<'\t'<<"id"<<'\t'<<" sex"<<'\t'<<"age"<<'\t'<<"department"<<'\t'<<"salary"<<endl; } CEmployee::CEmployee(char *name,char *id,int sex,int age,char *department,float salary):CPerson(name,id,sex,age) { m_szDepartment=department; m_Salary=salary; } void CEmployee::Show2() { Show1(); cout<<'\t'; for(int i=0;m_szName[i]!='\0';i++) cout<<m_szName[i]; cout<<'\t'; for(int j=0;m_szId[j]!='\0';j++) cout<<m_szId[j]; cout<<'\t'; if(m_nSex==0) cout<<"woman"; else cout<<"man"; cout<<'\t'<<m_nAge; cout<<'\t'; for(int a=0;m_szDepartment[a]!='\0';a++) cout<<m_szDepartment[a]; cout<<'\t'<<m_Salary; } int main() { char name[10],id[19],department[10]; int sex,age; float 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(); system("pause"); return 0; }