重载 family 类的“/”操作,它是单目运算符,表示离婚,生成一个 man 类和一个 woman 类的对象
时间: 2024-04-08 19:33:48 浏览: 19
好的,你想要重载 family 类的"/"操作符,表示离婚,并生成一个 man 类和一个 woman 类的对象。在 C++ 中,我们可以通过成员函数或非成员函数来重载操作符。下面是一个示例代码,演示如何实现这个功能:
```cpp
#include <iostream>
using namespace std;
class woman; // 预先声明 woman 类
class man {
private:
string name;
public:
man(string n) : name(n) {}
friend void operator/(const woman& w, const man& m); // 声明友元函数
};
class woman {
private:
string name;
public:
woman(string n) : name(n) {}
friend void operator/(const woman& w, const man& m); // 声明友元函数
};
void operator/(const woman& w, const man& m) {
cout << w.name << " 和 " << m.name << " 离婚了,生成了两个单身对象。" << endl;
}
int main() {
man john("John");
woman lisa("Lisa");
lisa / john; // 使用"/"操作符进行离婚操作
return 0;
}
```
运行该程序,输出结果为:
```
Lisa 和 John 离婚了,生成了两个单身对象。
```
在这个示例中,我们定义了 man 类和 woman 类,并在类中声明了 friend 友元函数 `operator/`。这个友元函数接受一个 woman 类对象和一个 man 类对象作为参数,用于表示离婚操作。在 main 函数中,我们创建了一个 man 对象和一个 woman 对象,并使用"/"操作符进行离婚操作。最后输出了离婚的结果。
希望这个示例能够帮助到你!如果有任何问题,请随时提问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)