Problem Description
某单位的职工工资包括基本工资Wage,岗位工资Subsidy,房租Rent,水费WaterFee,电费ElecFee。设计实现工资管理的类Salary,该类的形式如下:
class Salary{
private:double Wage,Subsidy,Rent,WaterFee,ElecFee;
public:
Salary(……){初始化工资数据的各项};
Salary(){初始化工资的各分项数据为0};
void setXX(double f){xx=f;};
double getXX(){return xx;};
double RealSalary();//计算实发工资
……};
成员函数setXX()用于设置工资的各分项数据,成员函数getXX()用于获取工资的各分项数据,XX代表Wage,Subsidy等数据成员,如Wage对应的成员函数则为setWage()和getWage()。
实发工资=Wage+Subsidy-Rent-WaterFee-ElecFee
程序如下,请完成类Salary的设计。程序如下:
#include <iostream>
using namespace std;
class Salary{
private:
double Wage,Subsidy,Rent,WaterFee,ElecFee;
public:
Salary(double i1,double i2=0,double i3=0,double i4=0,double i5=0){//以实际参数初始化工资数据的各分项
Wage=i1; Subsidy=i2; Rent=i3; WaterFee=i4; ElecFee=i5;
}
Salary(){//初始化工资的各分项数据为0
Wage=Subsidy=Rent=WaterFee=ElecFee=0;
}
void setWage(double f);
double getWage();
void setSubsidy(double f){Subsidy=f;}
double getSubsidy(){return Subsidy;}
void setRent(double f);
double getRent();
void setWaterFee(double f){WaterFee=f;}
double getWaterFee(){return WaterFee;}
void setElecFee(double f){ElecFee=f;}
double getElecFee(){return ElecFee;}
double RealSalary();//计算实发工资
void display(){//显示信息
cout<<"Wage="<<Wage<<"\t\tSubsidy="<<Subsidy<<endl;
cout<<"Rent="<<Rent<<"\t\tWaterFee="<<WaterFee<<"\t\tElecFee="<<ElecFee<<endl;
cout<<"实发工资为:"<<RealSalary()<<endl<<endl;
}
};
//你的代码将被嵌在这里
int main()
{
Salary s1(1000,800,200,30,50);
Salary s2;
s2.setWage(3000);
s2.setRent(100);
cout<<"s1:"<<endl;
s1.display();
cout<<"s2:"<<endl;
s2.display();
return 0;
}
Input Description
void Salary::setWage(double f) {
Wage=f;
}
void Salary::setRent(double f) {
Rent=f;
}
double Salary::RealSalary() {
return Wage+Subsidy-Rent-WaterFee-ElecFee;
}
Sample Output
s1: Wage=1000 Subsidy=800 Rent=200 WaterFee=30 ElecFee=50 实发工资为:1520 s2: Wage=3000 Subsidy=0 Rent=100 WaterFee=0 ElecFee=0 实发工资为:2900