【4-10】设计一个用于人事管理的“人员”类。由于考虑到通用性,这里只抽象出所有类型人员都具有的属性:编号、性别、出生日期、身份证号等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数、类的组合。
1.People、date类的定义头文件
//people.hpp
//people类、date类的定义头文件
class date
{
public:
date(int y=0,int m=0,int d=0);//构造函数
date(date &d);//复制函数
~date();//析构函数
void showdate();//显示日期
void setdate();//录入日期
private:
int year,month,day;//出生日期年月日
};
class people
{
public:
people(date birthd,int num,char s,int idnum);//构造函数
people(people &p);//复制函数
~people();//析构函数
void showpeople();//显示人员信息
void setpeople();//录入人员信息
private:
int number;//编号
char sex;//性别
date birthdate;//出生日期,date的子对象
int id_number;//身份证编号
};
构造函数中若要设定参数的默认值,需要把有默认值的参数放在后面,无需设置默认值的参数放在前面