/* * 程式的著作權和版本聲明部分 * Copyright (c)2013, 煙台大學電腦學院學生 .* All rightsreserved. * 作 者: 劉明亮 * 完成日期: 2013 年 5 月 12 日 * 版本號碼: v1.0 * 輸入描述: * 問題描述: * 輸出: */ #include<iostream>#include<iomanip>#include <Cstring>using namespace std;class CPerson{protected:char *m_szName;char *m_szId;int m_nSex;//0:women,1:manint m_nAge;public:CPerson(char *name,char *id,int sex,int age);void Show1();~CPerson(); //需要釋放建立對象時動態分配的記憶體};CPerson::CPerson(char *name,char *id,int sex,int age){ strcpy(m_szName=new char[strlen(name)+1],name); strcpy(m_szId=new char[strlen(id)+1],id); m_nSex=sex; m_nAge=age;}CPerson::~CPerson(){ delete []m_szName; delete []m_szId;}void CPerson::Show1(){ cout<<setiosflags(ios::right)<<"name"<<setw(15)<<"id"<<setw(15)<<"sex"<<setw(15)<<"age\n"; cout<<setiosflags(ios::right)<<m_szName<<m_szId; if(m_nSex==0) cout<<"women"; else cout<<"men"; cout<<setw(15)<<m_nAge<<endl;}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();};CEmployee::CEmployee(char *name,char *id,int sex,int age,char *department,float salary):CPerson(name,id,sex,age){ strcpy(m_szDepartment=new char[strlen(department)+1],department); m_Salary=salary;}void CEmployee::Show2(){ cout<<setiosflags(ios::right)<<setw(7)<<"name"<<setw(25)<<"id"<<setw(7)<<"sex"<<setw(7)<<"age"<<setw(15)<<"department"<<setw(10)<<"salary\n"; cout<<setiosflags(ios::right)<<setw(7)<<m_szName<<setw(25)<<m_szId<<setw(7); if(m_nSex==0) cout<<"women"; else cout<<"men"; cout<<setw(7)<<m_nAge<<setw(15)<<m_szDepartment<<setw(10)<<m_Salary<<endl;}CEmployee::~CEmployee(){ delete []m_szDepartment;}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();return 0;}