WDNMde_ 2020-06-13 09:26 采纳率: 50%
浏览 127
已采纳

6个无法解析的外部命令,大佬们看看哪里错了啊。继承

#include
#include
#include
#include
using namespace std;
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;
protected: //注意
std::string firstName;
std::string lastName;
std::string socialSecurityNumber;
double grossSales;
double commissionRate;

};
class BasePlusCommissionEmployee : public CommissionEmployee
{
public:
BasePlusCommissionEmployee(const std::string &,
const std::string &, const std::string &,
double = 0.0, double = 0.0, double = 0.0);
void setBaseSalary(double);
double getBaseSalary() const;
double earnings() const;
void print() const;
private:
double baseSalary;
};
BasePlusCommissionEmployee::BasePlusCommissionEmployee(
const string &first, const string &last,
const string &ssn, double sales, double rate,
double salary)
: CommissionEmployee(first, last, ssn, sales, rate)
{
setBaseSalary(salary);
}
void BasePlusCommissionEmployee::setBaseSalary(
double salary)
{
if (salary >= 0.0)
baseSalary = salary;
else
throw invalid_argument("Salary must be >= 0.0");
}
double BasePlusCommissionEmployee::getBaseSalary() const
{
return baseSalary;
}
double BasePlusCommissionEmployee::earnings() const
{
return baseSalary + (getCommissionRate() * getGrossSales());//使用get函数访问
}
void BasePlusCommissionEmployee::print() const
{
cout << "base-salaried commission employee : " << getFirstName() << ' '
<< getLastName() << "\nsocial security number : "
<< getSocialSecurityNumber() << "\ngross sales : " << getGrossSales()
<< "\ncommission rate :" << getCommissionRate()
<< "\nbase salary : " << baseSalary;
}
int main()
{
BasePlusCommissionEmployee
employee("Bob", "Lewis", "333-33-3333", 5000, 0.4, 3000);
cout << fixed << setprecision(2);
cout << "Employee information obtained by get functions : \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()
<< "\nBase salary is " << employee.getBaseSalary() << endl;
employee.setBaseSalary(1000);
cout << "\nUpdated employee information output by print function : \n"
<< endl;
employee.print();
cout << "\n\nEmployee's earnings : " << employee.earnings()
<< endl;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-13 09:33
    关注

    CommissionEmployee
    定义了一堆方法都没有实现呢。

    如果你一窍不通,只能告诉你,代码不完整。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表