在定义复数类的基础上进行比较运算符的重载
时间: 2023-07-10 11:32:56 浏览: 82
复数类的多种运算符重载
好的,你想了解在定义复数类的基础上进行比较运算符的重载。在 C++ 中,我们可以通过运算符重载来定义自定义操作符的行为。在定义复数类时,我们可以重载一些比较运算符,例如等于运算符、不等于运算符、小于运算符、大于运算符等等。下面是一个示例:
```c++
#include<iostream>
using namespace std;
class Complex {
public:
double real;
double imag;
Complex(double r=0, double i=0):real(r), imag(i){}
bool operator ==(const Complex& c2) const {
return (real == c2.real) && (imag == c2.imag);
}
bool operator !=(const Complex& c2) const {
return !(*this == c2);
}
bool operator <(const Complex& c2) const {
return (real < c2.real);
}
};
int main()
{
Complex c1(1,2), c2(3,4), c3(1,2);
if(c1 == c3) {
cout<<"c1 is equal to c3"<<endl;
}
if(c1 != c2) {
cout<<"c1 is not equal to c2"<<endl;
}
if(c1 < c2) {
cout<<"c1 is less than c2"<<endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个名为 Complex 的类,它有两个成员变量:实部和虚部。然后,我们重载了等于运算符、不等于运算符和小于运算符。在 main 函数中,我们创建了三个复数对象 c1、c2 和 c3,然后使用重载后的等于、不等于、小于运算符对它们进行比较,并输出结果。
希望这个例子可以帮助你理解在定义复数类的基础上进行比较运算符的重载。
阅读全文