定义一个Worker(职员)类,该类有name(姓名)、position(职位)、salary(月薪)等私有数据成员。该类有两个私有静态数据成员:count用于统计雇员总人数、totalSalary用于计算月应发薪酬总数。为该类定义构造函数,构造函数要负责对静态数据成员的值进行调整。再定义一个静态函数成员void printSalary (),该函数用于输出静态数据成员的值。定义你认为必要的其它函数。main函数已经写好,请根据main函数的内容完成该类的定义。
int main(){
string name;
string position;
double salary;
cin>>name>>position>>salary;
Worker w1(name,position,salary);
cin>>name>>position>>salary;
Worker w2(name,position,salary);
cin>>name>>position>>salary;
Worker w3(name,position,salary);
cin>>name>>position>>salary;
Worker w4(name,position,salary);
cin>>name>>position>>salary;
Worker w5(name,position,salary);
Worker::printSalary();
return 0;
}
输入描述
分五行输入五个职员的信息
输出描述
按样例格式输出相关信息
提示
你需要提交除了main函数之外的代码
样例输入
Mike Sales 5000
Tom Security 3000
Kate Manager 8000
Jack Sales 6000
Jone Security 3300
样例输出
This company has 5 workers.
Total salary is 25300
Average salary is 5060
#include <iostream>
#include <cstring>
using namespace std;
class Worker
{
public:
Worker(string n, string p, double s)
{
name = n;
position = p;
salary = s;
count++;
totalsalary += s;
}
~Worker() {count--;}
static void printSalary();
private:
string name;
string position;
double salary;
static int count;
static double totalsalary;
};
int Worker::count = 0;
double Worker::totalsalary = 0;
void Worker::printSalary()
{
cout << "This company have " << count << " workers." << endl;
cout << "Total salary is " << totalsalary << endl;
double average = totalsalary / count;
cout << "Average salary is " << average << endl;
}
int main()
{
string name;
string position;
double salary;
cin >> name >> position >> salary;
Worker w1(name, position, salary);
cin >> name >> position >> salary;
Worker w2(name, position, salary);
cin >> name >> position >> salary;
Worker w3(name, position, salary);
cin >> name >> position >> salary;
Worker w4(name, position, salary);
cin >> name >> position >> salary;
Worker w5(name, position, salary);
Worker::printSalary();
return 0;
}