problem description
某公司有老闆boss、雇員employee、小時工hourlyworker和營銷人員commworker,他們的薪金計算方法如下:
老闆實行年薪制,如一年15萬;雇員按月計酬,方法是基本工資+獎金;小時工按工作時間計算報酬,方法是工作小時每小時單價;營銷人員按月計酬,方法是基本工資+銷售利潤5%。
每類人員都有姓名、職工編號、年齡、性別、工資等資料。設計計算各類人員報酬的程式,用虛函式getpay()計算各類人員的應得報酬,用虛函式print()列印輸出各位工作人員的基本資料。
#include
using
namespace std;
class
person
;person::
person
(string s1,string s2,
int age,string ***,
float salary)
void person::
print()
//你的**將被嵌在這裡
intmain()
sample output
***
****
****
****
****
*老闆***
****
****
****
****
*姓名:張華
職工編號:n001
年齡:30
性別:男
年薪:15萬元**
****
****
****
****
**雇員***
****
****
****
****
*姓名:李明
職工編號:n002
年齡:40
性別:男
基本工資:900
獎金:1000
月薪:1900元**
****
****
****
****
**小時工***
****
****
****
****
*姓名:向力
職工編號:n003
年齡:38
性別:男
每小時單價:60元
報酬:1800元**
****
****
****
****
**營銷人員***
****
****
****
****
*姓名:劉曉雲
職工編號:n004
年齡:28
性別:女
基本工資:1600元
銷售利潤:10000元
月酬:2100元
hint
1、將各類人員都有的共有的屬性和行為抽象在類person中,包括姓名、職工編號、年齡、性別等,以及函式getpay
()和print()。
2、getpay
()設計為純虛函式,將print
()設計成一般虛函式,其餘類從person類派生,各類再定義getpay
()的實現方法,並重定義函式print
()輸出具體資料。
3、每個類還需要根據實際情況定義相應的成員函式,獲取諸如工作時間、基本工資、銷售利潤之類的基礎資料。
解題**
// boss類繼承person類
class
boss
:public person
// print方法 列印題目指定內容
void
print()
// getpay 獲取工資 15萬元
double
getpay()
};// employee類繼承了person類
class
employee
:public person
// 設定 bwage bonus的方法
void
setbwage
(int wage)
;void
setbonus
(int bonus)
;// 獲取工資的方法 工資 = 基本工資+獎金
double
getpay()
// print()方法列印資訊 根據題目要求
void
print()
};// hourlyworker 繼承person類
class
hourlyworker
:public person
// 設定 time_hours uhprice 的方法
void
settime_hours
(int hours)
void
setuhprice
(int price)
// 獲取工資的方法 小時工工資 = 工作時間(小時) * 每小時工資
double
getpay()
// print()方法列印資訊 根據題目要求
void
print()
};// commworker 繼承person類
class
commworker
:public person
// 設定bwage,interest的方法
void
setbwage
(int wage)
void
setinterest
(int interest)
// 獲取工資 營銷人員工資 = 基本工資 + 提成(銷售利潤 * 0.05)
double
getpay()
// print()方法列印資訊 根據題目要求
void
print()
};
C OJ習題練習 三 函式過載
problem description 編寫過載函式min 分別計算int double float long型別陣列中的最小值。程式如下,請完善該程式的設計 include using namespace std intmin int int double min double int float...
C OJ習題練習 二十 計算某高校教師的課酬
problem description 某高校教師的課酬計算方法是 教授100元 小時,副教授80元 小時,講師60元 小時,助教40元 小時。編寫計算教師課酬的程式,從鍵盤輸入教師的姓名 職稱 授課時數,然後輸出該教師應得的課酬。請完善下面的程式 include include using nam...
linux練習題十六
目錄 一 使用ansible的playbook實現自動化安裝httpd 二 建立httpd伺服器,要求提供兩個基於名稱的虛擬主機 檢查yml檔案 執行任務 1 www.x.com,頁面檔案目錄為 web vhosts x 錯誤日誌為 var log httpd x.err,訪問日誌為 var log...