定义一个描述员工(Employee)基本情况的类,数据成员包括编号(num)、姓名(name)、性别(sx)、工资(wage)、人数(count)、总工资(totalWage)。
【要求】:
1.总工资和人数为静态数据成员;
2.构造函数由已知参数:编号(num)、姓名(name)、性别(sx)和工资(wg)进行初始化;
3.显示基本数据函数(ShowBase)用于显示学生的编号、姓名、性别和工资;
4.显示静态数据函数(ShowStatic)为静态成员函数,用于显示人数和总工资;
5.在主函数中定义3个员工对象,分别显示员工基本信息,以及显示员工人数和总工资。
解析:
静态成员分为:静态成员变量和静态成员函数
静态成员变量:
1.所有对象共享一份数据
2.在编译阶段分配内存
3.类内声明,类外初始化
静态成员函数:
1.所有对象共享同一个函数
2.静态成员函数只能访问静态成员变量
#include#include using namespace std; class Employee { public: Employee(int num,string name,string sx,double wg); ~Employee(); void showBase(); static void showstatic(); private: static double totalWage; //总工资 static int count; //人数 int num1; string name1; string sx1; double wg1; }; int Employee::count=0; double Employee::totalWage=0; Employee::Employee(int num,string name,string sx,double wg) { num1=num;name1=name;sx1=sx;wg1=wg; count++; //有对象生成增加人数 totalWage+=wg1; //有对象生成增加总工资 } Employee::~Employee(){} void Employee::showBase() { cout<<"编号"< cout<<"总人数"< Employee Em1(1,"张三","男",1500); Em1.showBase(); Employee Em2(2,"李四","女",2500); Em2.showBase(); Employee Em3(3,"王五","男",3500); Em3.showBase(); Employee::showstatic(); return 0; }
结果如下



