【c++面向对象编程】工资管理系统
生活随笔
收集整理的這篇文章主要介紹了
【c++面向对象编程】工资管理系统
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、名詞實(shí)際上就是對(duì)象(員工派生出老員工、新員工)
2、利用虛函數(shù)實(shí)現(xiàn)多態(tài)
3、對(duì)象指針數(shù)組
頭文件
#include <string> #include <istream> using namespace std; class Emplyee{ protected:string Name;int Years; public:virtual int getSalary() =0;Emplyee(string name, int years):Name(name), Years(years) //<strong><span style="color:#ff0000;">初始化列表</span></strong>{}; };class Old_Emplyee :public Emplyee{ public:Old_Emplyee(string name, int years):Emplyee(name, years) //<strong><span style="color:#ff0000;">使用基類的構(gòu)造函數(shù),完成對(duì)屬性的初始化</span></strong>{};int getSalary(){return 2000 * Years;}; };class Young_Emplyee :public Emplyee{ public:Young_Emplyee(string name, int years):Emplyee(name, years){};int getSalary(){return 200 * Years;}; };class Salary_Manager{ private:int Max_Num=3;Emplyee* pEmplyee[]; public:void InputInfo();void ShowInfo();double AveSalary(); };源文件: #include "Salary_Manager.h" #include <iostream> #include <Windows.h> using namespace std; void Salary_Manager::InputInfo(){cout << "信息輸入:" << endl;int c_Num = 0;string strName ="";int iYears=0;bool isOld=0;while (c_Num < Max_Num){cin.clear();cin>>isOld>>strName>>iYears;Emplyee* tpEmplyee = NULL;if (isOld == true){tpEmplyee = new Old_Emplyee(strName,iYears);pEmplyee[c_Num] = tpEmplyee;}else{tpEmplyee = new Young_Emplyee(strName, iYears);pEmplyee[c_Num] = tpEmplyee;}c_Num++;} };double Salary_Manager::AveSalary(){int total_Salary = 0;for (size_t i = 0; i < Max_Num; i++){total_Salary += pEmplyee[i]->getSalary();}return total_Salary / Max_Num; };int main(){Salary_Manager mSalary_Manager;mSalary_Manager.InputInfo();cout<<"平均工資為:"<<mSalary_Manager.AveSalary()<<endl;system("PAUSE"); }運(yùn)行結(jié)果:
總結(jié)
以上是生活随笔為你收集整理的【c++面向对象编程】工资管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【简单易懂】c++中组合与聚合
- 下一篇: Java日期时间类型