设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中"出生日期"定义为一个"日期"类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、带缺省形参值的成员函数。
时间: 2023-02-05 20:29:39 浏览: 231
这是一个简单的People类的设计:
```
class Date {
public:
Date(int year=0, int month=0, int day=0); // 构造函数
~Date(); // 析构函数
Date(const Date &other); // 拷贝构造函数
void SetDate(int year, int month, int day); // 内联成员函数,用于设置日期
void PrintDate() const; // 内联成员函数,用于显示日期
private:
int year_;
int month_;
int day_;
};
class People {
public:
People(int number=0, char sex=' ', const Date &birthday=Date(), const string &id=""); // 构造函数
~People(); // 析构函数
People(const People &other); // 拷贝构造函数
void SetNumber(int number); // 内联成员函数,用于设置编号
void SetSex(char sex); // 内联成员函数,用于设置性别
void SetBirthday(const Date &birthday); // 内联成员函数,用于设置出生日期
void SetId(const string &id); // 内联成员函数,用于设置身份证号
int GetNumber() const; // 内联成员函数,用于获取编号
char GetSex() const; // 内联成员函数,用于获取性别
Date GetBirthday() const; // 内联成员函数,用于获取出生日期
string GetId() const; // 内联成员函数,用于获取身份证号
void PrintInfo() const; // 内联成员函数,用于显示人员信息
private:
int number_;
char sex_;
Date birthday_;
string id_;
};
```
构造函数是一种特
阅读全文