C++ 设计员工类(Employee)
Posted ʚVVcatɞ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 设计员工类(Employee)相关的知识,希望对你有一定的参考价值。
题目描述
定义一个描述员工(Employee)基本情况的类,数据成员包括编号(num)、姓名(name)、性别(sex)、工资(wage)、人数(count)、总工资(totalWage)。其中姓名定义为长度为18的字符数组,性别定义为长度为3的字符数组,其它数据类型为整型,总工资和人数为静态数据成员,函数成员包括构造函数、显示基本函数(ShowBase)和显示静态数据函数(ShowStatic),其中构造函数由已知参数编号(nu),姓名(nm)、性别(sx)和工资(wg)构造对象,显示基本数据函数用于显示学生的编号、姓名、性别和工资,显示静态数据函数为静态成员函数,用于显示人数和总工资;要求所有数据成员为protected访问权限,所有成员函数为public访问权限,在主函数中定义若干个员工对象,分别显示员工基本信息,以及显示员工人数和总工资。
输入描述
第一行要求输入一个小于10的数字n,表示即将录入的员工数量,换行后从键盘录入每个员工的数据,依次是
编号,姓名,性别,工资,每个员工占一行
输出描述
第一行显示“人数:”,第二行显示“总工资:”,后面分别显示每个员工的信息,每个员工之间空一行
输入样例
2
1008 张三 男 2500
1009 李四 女 2600
输出样例
人数:2
总工资:5100元
个人基本信息:
编号:1008
姓名:张三
性别:男
工资:2500
个人基本信息:
编号:1009
姓名:李四
性别:女
工资:2600
程序代码
#include <iostream>
#include <cstring>
using namespace std;
class Employee
protected: // protected访问权限
int m_num; // 编号(num)
char m_name[18]; // 姓名(name) 其中姓名定义为长度为18的字符数组
char m_sex[3]; // 性别(sex) 性别定义为长度为3的字符数组
int m_wage; // 工资(wage) 其它数据类型为整型
static int m_count; // 人数(count) 其它数据类型为整型 总工资和人数为静态数据成员
static int m_totalWage; // 总工资(totalWage) 其它数据类型为整型 总工资和人数为静态数据成员
public: // 所有成员函数为public访问权限
Employee(int num, char * name, char * sex, int wage); // 构造函数
~Employee();
void ShowBase(); // 显示基本函数
static void ShowStatic(); // 显示静态数据函数(ShowStatic)
;
int Employee::m_count = 0;
int Employee::m_totalWage = 0;
Employee::Employee(int num, char * name, char * sex, int wage) // 构造函数由已知参数编号(nu)姓名(nm)、性别(sx)和工资(wg)构造对象
m_num = num;
strcpy(m_name ,name);
strcpy(m_sex, sex);
m_wage = wage;
m_count++;
m_totalWage += wage;
Employee::~Employee()
m_count--;
m_totalWage -= m_wage;
void Employee::ShowBase() // 显示基本数据函数用于显示学生的编号、姓名、性别和工资,
cout << "个人基本信息:\\n";
cout << "编号:" << m_num << endl;
cout << "姓名:" << m_name << endl;
cout << "性别:" << m_sex << endl;
cout << "工资:" << m_wage <<endl;
void Employee::ShowStatic() // 显示静态数据函数为静态成员函数,用于显示人数和总工资;
cout << "人数:" << m_count << endl;
cout << "总工资:" << m_totalWage << "元" << endl;
int main()
// 在主函数中定义若干个员工对象,分别显示员工基本信息,以及显示员工人数和总工资。
int n, i, num, wage;
char name[64], sex[3];
cin >> n;
Employee ** employee = new Employee* [n];
for(i = 0; i < n; i++)
cin >> num >> name >> sex >> wage;
employee[i] = new Employee(num, name, sex, wage);
Employee::ShowStatic();
for (i = 0; i < n; i++)
employee[i] -> ShowBase();
delete employee[i];
if(i != n - 1)
cout << endl;
delete[] employee;
return 0;
以上是关于C++ 设计员工类(Employee)的主要内容,如果未能解决你的问题,请参考以下文章
实现一个名为Person的类和它的子类Employee, Manager是Employee的子类,设计一个接口Add用于涨工资,普通