<pre class="plain" name="code">/* (程式頭部注釋開始)
* 程式的著作權和版本聲明部分
* Copyright (c) 2011, 煙台大學電腦學院學生
* All rights reserved.
* 檔案名稱: C++第十周【任務2】
* 作 者: 鮑增凱
* 完成日期: 2012 年 5 月 14 日
* 版 本 號: 10-2-1
* 對任務及求解方法的描述部分
* 輸入描述: 設定私人成員:姓名,社會安全號碼等;成員函數:建構函式,解構函式,輸出資訊的函數。
* 問題描述:在下面一段類的定義中,需要填充的函數由注釋內容給出了功能。
* 程式輸出:
* 程式頭部的注釋結束
*/
#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(); }; 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; } CPerson::CPerson(char *name,char *id,int sex,int age) { m_szName= name; m_szId=id; m_nSex= sex;//0:women,1:man m_nAge=age; } void CPerson::Show1() { cout<< m_szName<<'\t'<<setw(20)<< m_szId<<'\t'<<((m_nSex==1)?"man":"woman")<<'\t'<< m_nAge<<'\t'; } CPerson::~CPerson() {} 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() { cout << setiosflags(ios::left) ; cout<<"name"<<'\t'<< setw(20) <<"id"<<'\t'<<"sex"<<'\t'<<"age"<<'\t'<<"department"<<'\t'<<"salary" << endl; Show1(); cout<<m_szDepartment<<'\t'<<m_Salary<<endl; } CEmployee::~CEmployee() {}