定义一个employee类,其中包含char数组型私有数据成员姓名name, int型数组成员年龄age,char数组型工号id等. 每个数据成员有两个公有函数用于读写操作。写出默认构造函数, 带参数的构造函数,拷贝构造函数,析构函数。 主函数进行测试。
时间: 2024-05-03 17:21:04 浏览: 120
好的,我明白了。以下是代码:
```
#include <iostream>
#include <cstring>
using namespace std;
class Employee {
private:
char name[20];
int age;
char id[10];
public:
Employee() {
strcpy(name, "");
age = 0;
strcpy(id, "");
}
Employee(char* name, int age, char* id) {
strcpy(this->name, name);
this->age = age;
strcpy(this->id, id);
}
Employee(const Employee& emp) {
strcpy(this->name, emp.name);
this->age = emp.age;
strcpy(this->id, emp.id);
}
~Employee() {}
void set_name(char* name) { strcpy(this->name, name); }
void set_age(int age) { this->age = age; }
void set_id(char* id) { strcpy(this->id, id); }
char* get_name() { return name; }
int get_age() { return age; }
char* get_id() { return id; }
};
int main() {
Employee emp1;
emp1.set_name("John Doe");
emp1.set_age(25);
emp1.set_id("E001");
cout << "Employee 1 name: " << emp1.get_name() << endl;
cout << "Employee 1 age: " << emp1.get_age() << endl;
cout << "Employee 1 id: " << emp1.get_id() << endl;
Employee emp2("Jane Smith", 30, "E002");
cout << "Employee 2 name: " << emp2.get_name() << endl;
cout << "Employee 2 age: " << emp2.get_age() << endl;
cout << "Employee 2 id: " << emp2.get_id() << endl;
Employee emp3 = emp1;
cout << "Employee 3 name: " << emp3.get_name() << endl;
cout << "Employee 3 age: " << emp3.get_age() << endl;
cout << "Employee 3 id: " << emp3.get_id() << endl;
return 0;
}
```
这里定义了一个 `Employee` 类,包含了三个私有数据成员 `name`、`age` 和 `id`,每个数据成员都有对应的读写操作函数。默认构造函数将所有数据成员初始化为默认值,带参数的构造函数可以在实例化对象时赋值,拷贝构造函数用于对象之间的拷贝,析构函数用于释放资源。
在主函数中,测试了三个不同的 `Employee` 对象,分别使用了默认构造函数、带参数的构造函数和拷贝构造函数,验证了对象赋值和读写操作的正确性。
阅读全文