日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 继承Employee类

發布時間:2025/5/22 c/c++ 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 继承Employee类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

定義Employee(員工)類,由Employee分別派生出Saleman(銷售員)類和Manager(經理)類,采用虛繼承方式。再由Saleman(銷售員)類和Manager(經理)類采用多重繼承方式派生出新類SaleManager(銷售經理)類。
要求:
(1)在Employee類中包含的數據成員有編號(num)、姓名(name)、基本工資(basicSalary)和獎金(prize)。在Saleman類中還包含數據成員銷售員提成比例(deductRate)和個人銷售額(personAmount),在Manager類中還包含數據成員經理提成比例(totalDeductRate)和總銷售額(totalAmount)。在SaleManager類中不包含其它數據成員。
(2)各類人員的實發工資公式如下:
員工實發工資=基本工資+獎金;
銷售員實發工資=基本工資+獎金+個人銷售額銷售員提成比例;
經理實發工資=基本工資+獎金+總銷售額經理提成比例;

銷售經理實發工資=基本工資+獎金+個人銷售額銷售員提成比例+總銷售額經理提成比例;

(3)每個類都有構造函數、輸出基本信息(Show)函數和輸出實發工資(ShowSalary)函數。

輸入樣例

//本題沒有輸入,主函數按照如下編寫 int main() { Employee e(106, "李明", 1680, 1080); // 定義對象cout << "員工信息:" << endl; // 輸出提示e.Show(); // 輸出基本信息e.ShowSalary(); // 輸出實發工資Saleman s(108, "李杰明", 2680, 1680, 0.15, 23000); // 定義對象cout << endl << "銷售員信息:" << endl; // 輸出提示s.Show(); // 輸出基本信息s.ShowSalary(); // 輸出實發工資Manager m(116, "吳倩", 3680, 2680, 0.1, 83000); // 定義對象cout << endl << "經理信息:" << endl; // 輸出提示m.Show(); // 輸出基本信息m.ShowSalary(); // 輸出實發工資SaleManager sm(118, "吳杰", 3680, 2680, 0.15, 28000, 0.1, 88000);cout << endl << "銷售經理信息:" << endl; // 輸出提示sm.Show(); // 輸出基本信息sm.ShowSalary(); // 輸出實發工資return 0; // 返回值, 返回操作系統 }

輸出樣例

員工信息: 編號:106 姓名:李明 基本工資:1680元 獎金:1080元 實發工資:2760元銷售員信息: 編號:108 姓名:李杰明 基本工資:2680元 獎金:1680元 銷售員提成比例:0.15 個人銷售額:23000元 實發工資:7810元經理信息: 編號:116 姓名:吳倩 基本工資:3680元 獎金:2680元 經理提成比例:0.1 總銷售額:83000元 實發工資:14660元銷售經理信息: 編號:118 姓名:吳杰 基本工資:3680元 獎金:2680元 銷售員提成比例:0.15 個人銷售額:28000元 經理提成比例:0.1 總銷售額:88000元 實發工資:19360元

程序代碼

#include<iostream> #include<cstring>using namespace std;//員工類 class Employee {public:Employee(int new_num, char* new_name, double new_basicSal, double new_prize); //員工類構造函數聲明void Show(); //輸出員工類基本信息double OutputWage1(); //返回員工薪水void ShowSalary(); // 打印員工薪水 private:int num; //編號char name[18]; //姓名double basicSal; //基本工資double prize; //獎金 };//員工類構造函數初始化 Employee::Employee(int new_num, char* new_name, double new_basicSal, double new_prize){num = new_num;strcpy(name, new_name);basicSal = new_basicSal;prize = new_prize; }// 輸出員工類基本信息 void Employee::Show() {cout << "編號:" << num << endl;cout << "姓名:" << name << endl;cout << "基本工資:" << basicSal << "元" << endl;cout << "獎金:" << prize << "元" << endl; }//返回員工實發工資 double Employee::OutputWage1(){double salary;//員工實發工資 = 基本工資 + 獎金salary = basicSal + prize;return salary; }void Employee::ShowSalary(){cout << "實發工資:" << OutputWage1() << "元" << endl; }//銷售員類 class Saleman :virtual public Employee {public:Saleman(int a, char* b, double d, double e, double f, double g);void Output2();//輸出 Employee+Saleman 基本信息void output2(); // 只輸出 Saleman 基本信息double OutputWage2();void ShowSalary(); private:double daductRatr; //成員銷售額提成比例double personAmount;//個人銷售額 };Saleman::Saleman(int new_num, char* new_name, double new_basicSal, double new_prize, double new_daductRatr, double new_personAmount) :Employee(new_num, new_name, new_basicSal, new_prize){daductRatr = new_daductRatr;personAmount = new_personAmount; }//輸出 Employee+Saleman 基本信息 void Saleman::Output2() {Show();cout << "銷售員提成比例:" << daductRatr << endl;cout << "個人銷售額:" << personAmount << "元" << endl; }// 只輸出 Saleman 基本信息 void Saleman::output2() {cout << "銷售員提成比例:" << daductRatr << endl;cout << "個人銷售額:" << personAmount << "元" << endl; }//返回銷售員實發工資 double Saleman::OutputWage2() {double salary;//銷售員實發工資 = 基本工資 + 獎金 * 出勤率 + 個人銷售額 * 銷售員提成比例salary = Employee::OutputWage1() + personAmount * daductRatr;return salary; }void Saleman::ShowSalary(){cout << "實發工資:" << OutputWage2() << "元" << endl; }//經理類 class Manager :virtual public Employee {public:Manager(int new_num, char* new_name, double new_basicSal, double new_prize, double new_totalDeductRate, double new_totalAmount);void Output3();//輸出 Employee+Manager 基本信息void output3();//只輸出 Manager 基本信息double OutputWage3();//返回經理實發工資void ShowSalary();private:double totalDeductRate;double totalAmount; };Manager::Manager(int new_num, char* new_name, double new_basicSal, double new_prize, double new_totalDeductRate, double new_totalAmount) :Employee(new_num, new_name, new_basicSal, new_prize){totalDeductRate = new_totalDeductRate; //經理提成比例totalAmount = new_totalAmount;//總銷售額 }//輸出 Employee+Manager 基本信息 void Manager::Output3() {Show();cout << "經理提成比例:" << totalDeductRate << endl;cout << "總銷售額:" << totalAmount << "元" << endl; }//只輸出 Manager 基本信息 void Manager::output3() {cout << "經理提成比例:" << totalDeductRate << endl;cout << "總銷售額:" << totalAmount << "元" << endl; }//返回經理實發工資 double Manager::OutputWage3() {double salary;//經理實發工資 = 基本工資 + 獎金 + 總銷售額 * 經理提成比例salary = Employee::OutputWage1() + totalAmount * totalDeductRate;return salary; }void Manager::ShowSalary(){cout << "實發工資:" << OutputWage3() << "元" << endl; }//銷售經理類 class SaleManager :public Saleman, public Manager {public:SaleManager(int new_num, char* new_name, int new_basicSal, int new_prize, double f, double g, double h, double i);void Output4();//輸出銷售經理基本信息double OutputWage4();//返回銷售經理實發工資void ShowSalary(); };SaleManager::SaleManager(int new_num, char* new_name, int new_basicSal, int new_prize, double new_daductRatr, double new_personAmount, double new_totalDeductRate, double new_totalAmount) :Saleman(new_num, new_name, new_basicSal, new_prize, new_daductRatr, new_personAmount), Manager(new_num, new_name, new_basicSal, new_prize, new_totalDeductRate, new_totalAmount), Employee(new_num, new_name, new_basicSal, new_prize) { }void SaleManager::Output4() {Employee::Show();Saleman::output2();Manager::output3(); }//返回銷售經理實發工資 double SaleManager::OutputWage4() {double salary;//銷售經理實發工資 = 基本工資 + 獎金 + 個人銷售額 * 銷售員提成比例 + 總銷售額 * 經理提成比例salary = Saleman::OutputWage2() + Manager::OutputWage3() - Employee::OutputWage1();return salary; }void SaleManager::ShowSalary(){cout << "實發工資:" << OutputWage4() << "元" << endl; }int main() {//員工 Employee e(106, "李明", 1680, 1080); // 定義對象cout << "員工信息:" << endl; // 輸出提示e.Show(); // 輸出基本信息e.ShowSalary(); // 輸出實發工資cout << "" << endl;//銷售員Saleman s(108, "李杰明", 2680, 1680, 0.15, 23000); // 定義對象cout << "銷售員信息:" << endl; // 輸出提示s.Output2(); // 輸出基本信息s.ShowSalary(); // 輸出實發工資cout << "" << endl;//經理Manager m(116, "吳倩", 3680, 2680, 0.1, 83000); // 定義對象cout << "經理信息:" << endl; // 輸出提示m.Output3(); // 輸出基本信息m.ShowSalary(); // 輸出實發工資cout << "" << endl;//銷售經理s4SaleManager sm(118, "吳杰", 3680, 2680, 0.15, 28000, 0.1, 88000); // 定義對象cout << "銷售經理信息:" << endl; // 輸出提示sm.Output4(); // 輸出基本信息sm.ShowSalary(); // 輸出實發工資return 0; // 返回值, 返回操作系統 }

總結

以上是生活随笔為你收集整理的C++ 继承Employee类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线免费观看黄色网址 | 精品中文视频 | 国产女人视频 | 久久成人精品一区二区 | 国产大学生av | 欧美 在线 | 看黄色一级大片 | 精品3p | 男人操女人下面视频 | 日韩av影视大全 | 偷操| 涩色网站 | 亚洲国产av一区二区 | 色吊丝av中文字幕 | 亚洲精华国产精华精华液网站 | 国产精品第5页 | 亚洲精品视频在线观看免费视频 | 国产精品激情偷乱一区二区∴ | 久久色av | 51国产偷自视频区视频 | 国产综合精品在线 | 一眉道姑 电影 | 九九资源网 | 最新毛片网| 欧美精品一区二区性色a+v | 香蕉影院在线观看 | 日本天天操 | 蜜桃成人av| 91网站免费入口 | 超污网站在线观看 | www.色网站 | 人妻洗澡被强公日日澡 | 91免费福利视频 | 日本免费在线视频 | 青娱乐国产精品 | 精品亚洲一区二区三区四区五区 | 97国产精品视频人人做人人爱 | 中文字幕第12页 | 狼干综合| 日本大尺度吃奶做爰视频 | 午夜性福利视频 | 在线免费观看亚洲 | 国产欧美成人 | 男生看的污网站 | 美女黄色一级片 | 丰满少妇一区二区三区视频 | 欧美aa级 | 四虎免费观看 | 免费视频91 | 伊人激情影院 | 亚洲国产成人精品一区二区三区 | 影音先锋美女 | 黑人巨茎大战欧美白妇 | 无码不卡av东京热毛片 | 欧美性猛交xxx乱大交3蜜桃 | 国产欧美日韩视频在线观看 | 色黄网站在线观看 | 95在线视频 | 中文字幕无线码一区 | 日韩少妇一区二区三区 | 你懂的网址在线观看 | 99自拍偷拍 | 91福利区 | 日韩精品高清在线 | 男人的天堂av女优 | 亚洲天堂资源 | 午夜黄色在线观看 | 日韩国产精品一区 | 欧美精品第二页 | 永久免费成人 | 视频黄页在线观看 | 国产精品久久久免费 | 美女扒开尿口让男人捅爽 | 午夜视频在线播放 | 黄网站免费视频 | 亚洲日批 | 全程粗话对白视频videos | 18做爰免费视频网站 | japanese强行粗暴 | 日韩一级片免费观看 | 少妇av一区二区三区无码 | 亚洲欧美日韩不卡 | 中文字幕2区 | 在线观看免费毛片 | 五月深爱网 | 国产大屁股喷水视频在线观看 | 亚洲精品av在线 | 天天爽一爽 | 二区三区视频 | 在线观看毛片视频 | 天天摸日日摸 | 91丨porny丨露出 | 九一毛片| 国产丝袜在线播放 | 欧美日韩在线综合 | www欧美 | 欧美日韩网| 国产在线第一页 | www.四虎影视|