定义一个构造函数来初始化这些属性,并定义一个析构函数来将属性设置为“”。 c)多个成员函数更改这些属性,一个成员函数显示员工的全部信息。 d)定义了两个油炸函数来访问“雇员”的“名称”和“地址”属性。 e)是一个创建两个对象和测试朋友函数的主要函数。
时间: 2024-02-16 17:00:16 浏览: 93
天轰穿系列教程之-16利用构造函数初始化对象
好的,我理解了你的问题。以下是一个示例C++代码,实现了你所描述的功能:
```c++
#include<iostream>
#include<string>
using namespace std;
class Employee {
private:
string name;
string address;
int age;
long phoneNumber;
public:
Employee(string n, string a, int ag, long ph) {
name = n;
address = a;
age = ag;
phoneNumber = ph;
}
~Employee() {
name = "";
address = "";
age = 0;
phoneNumber = 0;
}
void setName(string n) {
name = n;
}
void setAddress(string a) {
address = a;
}
void setAge(int ag) {
age = ag;
}
void setPhoneNumber(long ph) {
phoneNumber = ph;
}
void displayInfo() {
cout << "Name: " << name << endl;
cout << "Address: " << address << endl;
cout << "Age: " << age << endl;
cout << "Phone number: " << phoneNumber << endl;
}
friend string getName(Employee e);
friend string getAddress(Employee e);
};
string getName(Employee e) {
return e.name;
}
string getAddress(Employee e) {
return e.address;
}
int main() {
Employee emp1("John", "123 Main St, Anytown, USA", 35, 1234567890);
Employee emp2("Mary", "456 Oak St, Anytown, USA", 28, 9876543210);
emp1.displayInfo();
emp2.displayInfo();
cout << "Employee 1 name: " << getName(emp1) << endl;
cout << "Employee 2 address: " << getAddress(emp2) << endl;
return 0;
}
```
在上面的代码中,我们首先定义了一个名为Employee的类,它具有四个私有属性:名称(name)、地址(address)、年龄(age)和电话号码(phoneNumber)。接下来,我们定义了一个构造函数来初始化这些属性,并定义了一个析构函数来将属性设置为“”。然后,我们定义了一些成员函数来更改这些属性,并定义了一个成员函数来显示员工的全部信息。注意,该函数可以直接访问私有属性。
接下来,我们定义了两个友元函数(getName和getAddress),它们可以访问Employee类的私有属性。最后,我们在主函数中创建了两个Employee对象,并测试了这些成员函数和友元函数。
希望这能回答你的问题。如果你还有其他问题,请随时问我。
阅读全文