综合实验四面向对象的程序设计
[实验目的]
1.掌握类和对象的定义
2.掌握面向对象的程序设计方法
3.掌握类的继承与派生
4.掌握基类和虚函数的用法
5.掌握运算符重载的方法
6.掌握I/O流类的操作
[实验环境]
1.软件需求:Visual C++ 6.0
2.硬件需求: Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空
间
[实验内容]
1.设计员工类Employee(静态数据成员)分
a)题目描述
定义一个描述员工(Employee)基本情况的类,数据成员包括编号(num)、姓名
(name)、性别(sex)、工资(wage)、人数(count)、总工资(totalWage)。
其中姓名定义为长度为18的字符数组,性别定义为长度为3的字符数组,其它数
据类型为整型,总工资和人数为静态数据成员,函数成员包括构造函数、显示基本
函数(ShowBase)和显示静态数据函数(ShowStatic),其中构造函数由已知参数
编号(nu),姓名(nm)、性别(sx)和工资(wg)构造对象,显示基本数据函数
用于显示学生的编号、姓名、性别和工资,显示静态数据函数为静态成员函数,用
于显示人数和总工资;要求所有数据成员为protected访问权限,所有成员函数为
public访问权限,在主函数中定义若干个员工对象,分别显示员工基本信息,以
及显示员工人数和总工资。
b)输入描述
第一行要求输入一个小于10的数字n,表示即将录入的员工数量,换行后从键盘
录入每个员工的数据,依次是编号,姓名,性别,工资,每个员工占一行
c)输出描述
第一行显示“人数:”,第二行显示“总工资:”,后面分别显示每个员工的信息,每个员工之间空一行
d)样例输入
2
1008 张三男 2500
1009 李四女 2600
e)样例输出
人数:2
总工资:5100元
个人基本信息:
编号:1008
姓名:张三
性别:男
工资:2500
个人基本信息:
编号:1009
姓名:李四
性别:女
工资:2600
参考程序:
/******************************************************** 2012 IMIS C++ Practice 4 (Object oriented programming)
Task 1
Programmed by
YE Huanzhuo
Lakeside
Nov.28, 2012
********************************************************/ #include
#include
using namespace std;
class Employee
{
protected:
int num;
char name[18];
char sex[3];
int wage;
static int count;
static int totalWage;
public:
Employee(int nu, char * nm, char * sx, int wg);
~Employee();
void ShowBase();
static void ShowStatic();
};
int Employee::count=0;
int Employee::totalWage=0;
Employee::Employee(int nu, char * nm, char * sx, int wg) {
num=nu;
strcpy(name, nm);
strcpy(sex, sx);
wage=wg;
count++;
totalWage+=wg;
}
Employee::~Employee()
{
count--;
totalWage-=wage;
}
void Employee::ShowBase()
{
cout<<"个人基本信息:\n";