Problem Description
设计工人类Worker,它具有姓名name,年龄age,工作部门dept,工资salary等数据成员。
其中,salary为Salary类型的数据,包括基本工资Wage,岗位工资Subsidy,房租Rent,水费WaterFee,电费ElecFee。
实发工资=Wage+Subsidy-Rent-WaterFee-ElecFee,用double RealSalary()成员函数计算。
Worker类用静态成员num统计工人的人数。
输出格式为:左对齐,每个输出项占10列。
//你的代码将被嵌在这里
int main() {
Worker w1("John", 30, "design",5000,1200,400,200,800);
Worker w2,w3;
w1.display();
cout << "总人数为:"<<Worker::num << endl;
return 0;
}
Sample Input
无
Sample Output
Name Age Dept Wage Subsidy Rent WaterFee ElecFee RealSalary
John 30 design 5000 1200 400 200 800 4800
总人数为:3
#include <iostream>
using namespace std;
#include <string>
#include <iomanip>
class Salary
{
public:
double Wage, Subsidy, Rent, WaterFee, ElecFee;
Salary(double a, double b, double c, double d, double e)
{
Wage = a;
Subsidy = b;
Rent = c;
WaterFee = d;
ElecFee = e;
}
Salary(){
}
};
class Worker
{
public:
string name;
int age;
string dept;
Salary salary;
static int num;
Worker(string a, int b, string c, double d, double e, double f, double g, double h) :salary(d, e, f, g, h)
{
name = a;
age = b;
dept = c;
salary.Wage = d