创建一个employee类,该类中用字符数组存放employee的信息,如姓名、地址、市、省、及邮政编码;每个成员函数的定义放在类定义之外;成员函数包括改变姓名数据成员等;构造函数完成成员数据的初始化
时间: 2023-05-04 14:01:34 浏览: 503
此题需要定义一个Employee类,该类中用字典存储员工的信息,如姓名、地址、城市、省份、邮政编码等;每个成员函数的定义放在类定义之外,成员函数对类中的信息进行操作(修改、查询、添加、删除等)。构造函数用于初始化员工信息,并将员工信息存储在类中,主函数创建类对象并调用成员函数进行操作。这样可以有效地把类的定义和成员函数的功能划分清楚。
相关问题
创建一个Employee类,该类中用字符数组存放Employee的信息,如姓名、地址、市、省、及邮政编码;每个成员函数的定义放在类定义之外;成员函数包括改变姓名数据成员等;构造函数完成成员数据的初始化;用Display()函数将完整的对象数据打印出来;其中数据成员是保护的,成员函数是公共的。(c++)
好的,以下是Employee类的实现代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class Employee {
protected:
char name[50];
char address[100];
char city[50];
char state[50];
char zip[10];
public:
Employee(const char *name, const char *address, const char *city, const char *state, const char *zip) {
strcpy(this->name, name);
strcpy(this->address, address);
strcpy(this->city, city);
strcpy(this->state, state);
strcpy(this->zip, zip);
}
void changeName(const char *name) {
strcpy(this->name, name);
}
void display() {
cout << "Name: " << name << endl;
cout << "Address: " << address << endl;
cout << "City: " << city << endl;
cout << "State: " << state << endl;
cout << "Zip: " << zip << endl;
}
};
int main() {
Employee emp("John Smith", "123 Main St", "Anytown", "CA", "12345");
emp.display();
emp.changeName("Jane Doe");
emp.display();
return 0;
}
```
在这个实现中,我们通过使用字符数组来存储Employee的信息。构造函数负责初始化成员数据,而 `changeName()` 函数可以改变姓名数据成员。`display()` 函数将完整的对象数据打印出来。
在 `main()` 函数中,我们创建了一个Employee对象,并调用了 `display()` 函数。然后,我们使用 `changeName()` 函数改变了姓名数据成员,并再次调用了 `display()` 函数来检查是否更改成功。
创建一个employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。把表示构造函数、changename()、display()的函数原型放在类定义中,构造函数初始化每个成员,disp
### 回答1:
题目要求创建一个employee类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。通过构造函数、changename() 和 display() 的函数原型创建成员函数。这些成员函数的原型放在类定义中,构造函数将数组初始化为空字符串,而changename() 和 display() 函数将自行定义。每个成员的构造函数都应初始化。display() 函数将显示姓名和地址。
### 回答2:
员函数显示员工的信息,changename()函数允许更改员工姓名。
首先,我们需要明确该类的设计目的和属性。该类的主要目的是为了保存员工的信息,包括姓名、地址、邮编等。因此,我们可以设计以下属性:
1. char name[50]; // 姓名
2. char street[100]; // 街道地址
3. char city[50]; // 市
4. char state[50]; // 省
5. char zipcode[10]; // 邮政编码
接下来,我们需要定义构造函数、changename()和display()函数。
构造函数可以按如下方式定义:
```
class Employee {
public:
Employee(char n[], char st[], char c[], char s[], char z[]);
void display();
void changeName(char n[]);
private:
char name[50];
char street[100];
char city[50];
char state[50];
char zipcode[10];
};
Employee::Employee(char n[], char st[], char c[], char s[], char z[]) {
strcpy(name, n);
strcpy(street, st);
strcpy(city, c);
strcpy(state, s);
strcpy(zipcode, z);
}
```
这个构造函数采用传递的参数来初始化每个成员。显示函数可以按如下方式定义:
```
void Employee::display() {
cout<< "Name: " << name << endl;
cout<< "Address: " << street << endl;
cout<< "City: " << city << endl;
cout<< "State: " << state << endl;
cout<< "Zipcode: " << zipcode << endl;
}
```
这个函数用于显示员工的信息,可以打印成员变量。最后,我们需要定义函数changeName(),它可以按如下方式定义:
```
void Employee::changeName(char n[]) {
strcpy(name, n);
}
```
这个函数用于更改员工的姓名,采用传递的参数作为新的姓名。现在我们已经定义了一个完整的 Employee 类,可以使用以下代码来测试:
```
int main() {
Employee emp("Bob Smith", "123 Main Street", "Los Angeles", "CA", "90001");
emp.display();
emp.changeName("Alice Johnson");
emp.display();
return 0;
}
```
### 回答3:
Employee类是一种特殊的数据类型,它封装了一组属性,包括姓名、街道地址、市、省和邮政编码。通过创建一个Employee对象,我们可以方便地管理这些属性。
在Employee类中,我们需要定义一个字符数组,用于存储员工的姓名、街道地址、市、省和邮政编码。通过在构造函数中初始化这些成员变量,我们可以方便地创建Employee对象。
除了构造函数之外,我们还需要定义changename()和display()两个函数。changename()函数可以用于修改员工的姓名,display()函数则可以将员工的属性值打印到控制台上。
在实现Employee类时,我们需要考虑如何避免访问非法的地址或者数据。因此,我们可以使用private关键字来保护成员变量,从而使它们只能在类内部访问。
以下是一个示例代码:
```cpp
class Employee{
private:
char name[50];
char street[100];
char city[50];
char state[20];
char zip[10];
public:
Employee(char* n, char* s, char* c, char* st, char* z){
strcpy(name, n);
strcpy(street, s);
strcpy(city, c);
strcpy(state, st);
strcpy(zip, z);
}
void changename(char* n){
strcpy(name, n);
}
void display(){
cout << "Name: " << name << endl;
cout << "Address: " << street << ", " << city << ", " << state << " " << zip << endl;
}
};
```
在这个示例中,我们首先定义了一个Employee类,并在private部分定义了员工的姓名、街道地址、市、省和邮政编码五个成员变量。
接下来我们定义了一个构造函数,并在构造函数中使用strcpy()函数将传递进来的值分别赋值给实例变量。我们还定义了一个changename()函数,用于修改员工的姓名。
最后,我们定义了一个display()函数,用于将员工的属性值打印到控制台上。
使用这个Employee类,我们可以方便地创建和管理员工的信息,例如:
```cpp
Employee emp("张三","XXX街道","上海","上海","200000");
emp.display(); // 打印员工信息
emp.changename("李四"); // 修改员工姓名
emp.display(); // 打印修改后的信息
```
以上就是创建一个Employee类的简单示例。除了以上定义的属性,我们还可以添加其他方法和属性来扩展这个类,以适应不同的需求。
阅读全文