c++重载运算符“==”,判断两个复数是否相等。
时间: 2023-08-16 11:09:06 浏览: 77
可以使用类来实现复数的表示和运算符重载,以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
class Complex {
private:
double real; // 复数实部
double imag; // 复数虚部
public:
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
// 重载运算符==
bool operator==(const Complex& c) const {
return (real == c.real) && (imag == c.imag);
}
// 重载运算符!=,可以根据==实现
bool operator!=(const Complex& c) const {
return !(*this == c);
}
// 打印复数
void print() const {
cout << "(" << real << ", " << imag << "i)" << endl;
}
};
int main() {
Complex c1(1, 2);
Complex c2(1, 2);
Complex c3(2, 3);
if (c1 == c2) {
cout << "c1 == c2" << endl;
} else {
cout << "c1 != c2" << endl;
}
if (c1 == c3) {
cout << "c1 == c3" << endl;
} else {
cout << "c1 != c3" << endl;
}
return 0;
}
```
运行结果为:
```
c1 == c2
c1 != c3
```
其中,重载运算符使用了 const 引用,以避免创建副本,提高效率。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)