C++ 设计员工类(Employee)
生活随笔
收集整理的這篇文章主要介紹了
C++ 设计员工类(Employee)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
定義一個描述員工(Employee)基本情況的類,數據成員包括編號(num)、姓名(name)、性別(sex)、工資(wage)、人數(count)、總工資(totalWage)。其中姓名定義為長度為18的字符數組,性別定義為長度為3的字符數組,其它數據類型為整型,總工資和人數為靜態數據成員,函數成員包括構造函數、顯示基本函數(ShowBase)和顯示靜態數據函數(ShowStatic),其中構造函數由已知參數編號(nu),姓名(nm)、性別(sx)和工資(wg)構造對象,顯示基本數據函數用于顯示學生的編號、姓名、性別和工資,顯示靜態數據函數為靜態成員函數,用于顯示人數和總工資;要求所有數據成員為protected訪問權限,所有成員函數為public訪問權限,在主函數中定義若干個員工對象,分別顯示員工基本信息,以及顯示員工人數和總工資。
輸入描述
第一行要求輸入一個小于10的數字n,表示即將錄入的員工數量,換行后從鍵盤錄入每個員工的數據,依次是
編號,姓名,性別,工資,每個員工占一行
輸出描述
第一行顯示“人數:”,第二行顯示“總工資:”,后面分別顯示每個員工的信息,每個員工之間空一行
輸入樣例
2 1008 張三 男 2500 1009 李四 女 2600輸出樣例
人數:2 總工資:5100元 個人基本信息: 編號:1008 姓名:張三 性別:男 工資:2500個人基本信息: 編號:1009 姓名:李四 性別:女 工資:2600程序代碼
#include <iostream> #include <cstring>using namespace std;class Employee{protected: // protected訪問權限int m_num; // 編號(num) char m_name[18]; // 姓名(name) 其中姓名定義為長度為18的字符數組char m_sex[3]; // 性別(sex) 性別定義為長度為3的字符數組int m_wage; // 工資(wage) 其它數據類型為整型static int m_count; // 人數(count) 其它數據類型為整型 總工資和人數為靜態數據成員static int m_totalWage; // 總工資(totalWage) 其它數據類型為整型 總工資和人數為靜態數據成員public: // 所有成員函數為public訪問權限Employee(int num, char * name, char * sex, int wage); // 構造函數~Employee();void ShowBase(); // 顯示基本函數 static void ShowStatic(); // 顯示靜態數據函數(ShowStatic) }; int Employee::m_count = 0; int Employee::m_totalWage = 0;Employee::Employee(int num, char * name, char * sex, int wage){ // 構造函數由已知參數編號(nu)姓名(nm)、性別(sx)和工資(wg)構造對象m_num = num;strcpy(m_name ,name);strcpy(m_sex, sex);m_wage = wage;m_count++;m_totalWage += wage; }Employee::~Employee(){m_count--;m_totalWage -= m_wage; } void Employee::ShowBase(){ // 顯示基本數據函數用于顯示學生的編號、姓名、性別和工資,cout << "個人基本信息:\n";cout << "編號:" << m_num << endl;cout << "姓名:" << m_name << endl;cout << "性別:" << m_sex << endl;cout << "工資:" << m_wage <<endl; }void Employee::ShowStatic(){ // 顯示靜態數據函數為靜態成員函數,用于顯示人數和總工資;cout << "人數:" << m_count << endl;cout << "總工資:" << m_totalWage << "元" << endl; }int main(){// 在主函數中定義若干個員工對象,分別顯示員工基本信息,以及顯示員工人數和總工資。int n, i, num, wage;char name[64], sex[3];cin >> n;Employee ** employee = new Employee* [n];for(i = 0; i < n; i++){cin >> num >> name >> sex >> wage;employee[i] = new Employee(num, name, sex, wage);}Employee::ShowStatic();for (i = 0; i < n; i++){employee[i] -> ShowBase();delete employee[i];if(i != n - 1){cout << endl;}}delete[] employee;return 0; }總結
以上是生活随笔為你收集整理的C++ 设计员工类(Employee)的全部內容,希望文章能夠幫你解決所遇到的問題。