用c++设计一个用于人事管理的“人员”类。由于考虑到通用性,这里只抽象出所有类型人员都具有的属性:编号、性别、出生日期、身份证号等。其中“出生日期”声明为一个“日期”类内嵌子函数。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函数、内连成员函数、带默认形参值的成员函数、类的组合。
时间: 2023-05-17 20:05:11 浏览: 99
以下是用C++设计的“人员”类的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Date {
public:
Date(int year, int month, int day) : year_(year), month_(month), day_(day) {}
void Display() const {
cout << year_ << "-" << month_ << "-" << day_ << endl;
}
private:
int year_;
int month_;
int day_;
};
class Person {
public:
Person(int id, char gender, const Date& birthday, const string& id_card)
: id_(id), gender_(gender), birthday_(birthday), id_card_(id_card) {}
~Person() {}
Person(const Person& other) : id_(other.id_), gender_(other.gender_), birthday_(other.birthday_), id_card_(other.id_card_) {}
void Display() const {
cout << "编号:" << id_ << endl;
cout << "性别:" << gender_ << endl;
cout << "出生日期:";
birthday_.Display();
cout << "身份证号:" << id_card_ << endl;
}
private:
int id_;
char gender_;
Date birthday_;
string id_card_;
};
int main() {
Person p(1, 'M', Date(1990, 1, 1), "123456789012345678");
p.Display();
return 0;
}
```
在这个类中,我们定义了一个“日期”类作为“人员”类的内嵌子函数,用于表示出生日期。我们还定义了构造函数、析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数和类的组合,以实现对人员信息的录入和显示。在主函数中,我们创建了一个“人员”对象并显示其信息。
阅读全文