编写一个 Employee 类,录入与打印姓名、地址、城市和邮编信息,修改姓名,再次打印信息,并测试观察类对象与指针的内容
时间: 2024-02-11 10:09:46 浏览: 123
好的,以下是 Employee 类的代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Employee {
private:
string name;
string address;
string city;
string postalCode;
public:
Employee(string name, string address, string city, string postalCode) {
this->name = name;
this->address = address;
this->city = city;
this->postalCode = postalCode;
}
void setName(string name) {
this->name = name;
}
void printInfo() {
cout << "Name: " << name << endl;
cout << "Address: " << address << endl;
cout << "City: " << city << endl;
cout << "Postal Code: " << postalCode << endl;
}
};
int main() {
Employee emp("John Smith", "123 Main St", "New York", "10001");
emp.printInfo();
emp.setName("Jane Doe");
emp.printInfo();
Employee* empPtr = new Employee("Bob Johnson", "456 Elm St", "Los Angeles", "90001");
empPtr->printInfo();
empPtr->setName("Alice Williams");
empPtr->printInfo();
delete empPtr;
return 0;
}
```
在主函数中,我们首先创建了一个 Employee 对象 `emp`,并初始化其姓名、地址、城市和邮编信息。然后调用 `printInfo()` 方法打印信息。
接着,我们调用 `setName()` 方法修改 `emp` 对象的姓名为 "Jane Doe",再次调用 `printInfo()` 方法打印信息,可以看到姓名已经被修改了。
接下来,我们创建了一个 `Employee*` 类型的指针 `empPtr`,并使用 `new` 运算符动态分配了一个新的 Employee 对象,同时初始化其姓名、地址、城市和邮编信息。然后同样调用 `printInfo()` 方法打印信息。
再次调用 `setName()` 方法修改 `empPtr` 指向的对象的姓名为 "Alice Williams",并再次调用 `printInfo()` 方法打印信息,可以看到对象的姓名已经被修改了。
最后,我们使用 `delete` 运算符释放了 `empPtr` 指向的对象的内存。
运行程序,输出如下:
```
Name: John Smith
Address: 123 Main St
City: New York
Postal Code: 10001
Name: Jane Doe
Address: 123 Main St
City: New York
Postal Code: 10001
Name: Bob Johnson
Address: 456 Elm St
City: Los Angeles
Postal Code: 90001
Name: Alice Williams
Address: 456 Elm St
City: Los Angeles
Postal Code: 90001
```
可以看到,类对象和指针的行为都符合预期。
阅读全文