1. 程式人生 > >第11周補充專案2-職員有薪水了(1)

第11周補充專案2-職員有薪水了(1)

/*
*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中顯示出來,還要注意不要忘記對解構函式的構造。