fig11_06.cpp
来源:互联网 发布:linux弱口令扫描工具 编辑:程序博客网 时间:2024/06/05 02:00
CommissionEmployee.h
#pragma once#include<string>class CommissionEmployee{public:CommissionEmployee(const std::string &, const std::string &,const std::string &, double = 0.0, double = 0.0);void setFirstName(const std::string &);std::string getFirstName() const;void setLastName(const std::string &);std::string getLastName() const;void setSocialSecurityNumber(const std::string &);std::string getSocialSecurityNumber() const;void setGrossSales(double);double getGrossSales() const;void setCommissionRate(double);double getCommissionRate() const;double earnings() const;void print() const;private:std::string firstName;std::string lastName;std::string socialSecuritynumber;double grossSales;double commissionRate;};
CommissionEmployee.cpp
#include<iostream>#include<stdexcept>#include"CommissionEmployee.h"using namespace std;CommissionEmployee::CommissionEmployee(const string &first, const string &last, const string &ssn,double sales, double rate){firstName = first;lastName = last;socialSecuritynumber = ssn;setGrossSales(sales);setCommissionRate(rate );}void CommissionEmployee::setFirstName(const string &first){firstName = first;}string CommissionEmployee::getFirstName() const{return firstName;}void CommissionEmployee::setLastName(const string &last){lastName = last;}string CommissionEmployee::getLastName() const{return lastName;}void CommissionEmployee::setSocialSecurityNumber(const string &ssn){socialSecuritynumber = ssn;}string CommissionEmployee::getSocialSecurityNumber() const{return socialSecuritynumber;}void CommissionEmployee::setGrossSales(double sales){if (sales >= 0)grossSales = sales;elsethrow invalid_argument("Gross salesmust be >= 0.0");}double CommissionEmployee::getGrossSales() const{return grossSales;}void CommissionEmployee::setCommissionRate(double rate){if (rate > 0.0 && rate < 1.0)commissionRate = rate;elsethrow invalid_argument("Commission rate must be > 0.0 and <1.0");}double CommissionEmployee::getCommissionRate() const{return commissionRate;}double CommissionEmployee::earnings() const{return commissionRate * grossSales;}void CommissionEmployee::print() const{cout << "commission employee: " << firstName << ' ' << lastName<< "\nsocial security number: " << socialSecuritynumber<< "\ngross sales: " << grossSales<< "\ncommission rate: " << commissionRate;}
fig11_06.cpp
#include<iostream>#include<iomanip>#include"CommissionEmployee.h"using namespace std;int main(){CommissionEmployee employee("Sue", "Jones", "222-22-2222", 10000, .06);cout << fixed << setprecision(2);cout << "Employee information obtained by get funtions: \n"<< "\nFirst name is " << employee.getFirstName()<< "\nLast name is " << employee.getLastName()<< "\nSocial security number is "<< employee.getSocialSecurityNumber()<< "\nGross sales is " << employee.getGrossSales()<< "\nCommission rate is " << employee.getCommissionRate() << endl;employee.setGrossSales(8000);employee.setCommissionRate(.1);cout << "\mUpdate employee information output by print function: \n"<< endl;employee.print();cout << "\n\nEmployee's earnings: $" << employee.earnings() << endl;}
阅读全文
0 0
- fig11_06.cpp
- cpp
- CPP
- CPP
- cpp
- cpp
- CPP
- CPP
- ClientSockThread.cpp&&ClientUrlThread.cpp
- cpp调用其他cpp
- ex34a.cpp&&ex34aDoc.cpp&&ex34aView.cpp
- MainFrm.cpp&&ServerThread.cpp&&SheetConfig.cpp
- CPP thread
- cpp->html
- CFaderWnd.cpp
- PasswordReminder.cpp
- object.cpp
- CmdTarget.cpp
- CentOS修改Tomcat端口号
- 贪心之钱币找零问题
- 循环冗余检验CRC(Cyclic Redundancy Check)
- KMP算法java实现
- SpringBoot Junit 测试加载 xml 读取 bean 失败
- fig11_06.cpp
- Java通用与进阶知识,仅用于自身补充
- JAVA高级特性:泛型
- Java多线程之Executor框架
- http(2)
- 335. Self Crossing
- sql语句的优化
- jQuery定位图片在页面没有完全加载完成的时候无法居中
- Leecode-Search Insert Position