第11周補充專案2-職員有薪水了(1)
阿新 • • 發佈:2019-02-07
/* *Copyright(C) 2016,計算機與控制工程學院 *All rights reserved. *檔名:zhang.cpp *作者:張志新 *完成日期:2016年5月16日 *版本號:v1.0 * *問題描述:定義一個名為CPerson的類,有以下私有成員:姓名、身份證號、性別和年齡,成員函式:建構函式、解構函式、輸出資訊的函式。並在此基礎上派生出 * CEmployee類,派生類CEmployee增加了兩個新的資料成員,分別用於表示部門和薪水。要求派生類CEmployee的建構函式顯示呼叫基類 * CPerson的建構函式,併為派生類CEmployee定義解構函式,定義輸出資訊的函式。 * */ #include <iostream> #include <cstring> using namespace std; class CPerson { protected: string m_szName; string m_szId; int m_nSex;//0:women,1:man int 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){} CPerson::~CPerson(){} void CPerson::Show1() { cout<<m_szName<<" "<<" "<<m_szId<<" "<<m_nSex<<" "<<m_nAge; } 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(); }; 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){} CEmployee::~CEmployee() {} void CEmployee::Show2() { cout<<"name id sex age department salsry"<<endl; Show1(); cout<<" "<<m_szDepartment<<" "<<m_Salary<<endl; } 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; }
學習心得:
這個程式主要是些建構函式和成員函式,使全部的資訊在Show2中顯示出來,還要注意不要忘記對解構函式的構造。