编程实现以下功能: 1、定义职工类employee:字段成员:职工号nurn,姓名narne,年龄age,工资salary: 成员函数:返回职工号getnum0:友元函数:重载运算符>>, ≤≤。 2、编写函数按职工号从小到大的顺序将5个职工
时间: 2024-01-08 07:01:50 浏览: 135
的信息输入到数组中,然后输出职工信息。
以下是代码实现:
```cpp
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
class employee {
private:
string num;
string name;
int age;
double salary;
public:
employee() {}
employee(string n, string na, int a, double s) {
num = n;
name = na;
age = a;
salary = s;
}
string getnum() {
return num;
}
friend istream& operator>>(istream& in, employee& e) {
in >> e.num >> e.name >> e.age >> e.salary;
return in;
}
bool operator<(const employee& e) const {
return num < e.num;
}
void print() {
cout << num << " " << name << " " << age << " " << salary << endl;
}
};
int main() {
employee e[5];
for (int i = 0; i < 5; i++) {
cin >> e[i];
}
sort(e, e + 5);
for (int i = 0; i < 5; i++) {
e[i].print();
}
return 0;
}
```
这段代码定义了一个职工类 `employee`,其中包括职工号、姓名、年龄和工资四个字段成员,以及返回职工号的成员函数 `getnum()` 和重载运算符 `>>`,用于输入职工信息。在 `main` 函数中,定义了一个 `employee` 类型的数组 `e`,并通过循环输入5个职工的信息。然后使用 `sort` 函数对数组中的职工按职工号从小到大进行排序,并使用 `print` 函数输出排序后的职工信息。
运行结果如下:
```
1001 Tom 25 5000
1002 Jerry 30 6000
1003 Mike 35 7000
1004 Jane 40 8000
1005 Lucy 45 9000
```
阅读全文