设计一个用于人事管理的People类,这里只抽象出所有类型人员都具有的属性:number、sex、birthday、id等。用成员函数实现对人员信息的录入和显示。要求有构造函数、析构函数、内联成员函数。
时间: 2024-11-09 13:21:57 浏览: 30
设计一个用于人事管理的人事类People,我们可以按照以下步骤来进行:
```cpp
// 定义Person类,包含基本信息和必要的成员函数
class People {
public:
// 构造函数,初始化基本属性
People(int number, char sex, string birthday, int id)
: number_(number), sex_(sex), birthday_(birthday), id_(id) {}
// 析构函数,释放内存资源(在这里通常不做操作,因为C++自动处理)
~People() {}
// 内联成员函数 - 显示人员信息
inline void displayInfo() const {
cout << "Number: " << number_ << endl;
cout << "Sex: " << sex_ << endl;
cout << "Birthday: " << birthday_ << endl;
cout << "ID: " << id_ << endl;
}
// 内联成员函数 - 录入人员信息(假设有一个接受字符串输入的函数如parseInput())
inline bool inputInfo(const string& input) {
if (parseInput(input, number_, sex_, birthday_, id_)) {
return true;
}
else {
cerr << "Invalid input!" << endl;
return false;
}
}
private:
int number_; // 人员编号
char sex_; // 性别
string birthday_; // 出生日期
int id_; // 身份证号
// 这里可以添加一个辅助函数,用于解析输入数据,实际实现取决于具体的输入格式
// bool parseInput(string input, int& number, char& sex, string& birthday, int& id);
};
// 示例如何使用这个类
int main() {
People person(12345, 'M', "01-01-1990", 6789012345);
person.displayInfo();
string input = "12345 M 01-01-1990 6789012345";
if (person.inputInfo(input)) {
cout << "Input successful." << endl;
} else {
cout << "Input failed." << endl;
}
return 0;
}
```
阅读全文