定义一个复数类Complex,并重载运算符 "<", ">" 和 "==",使之能用于复数的模比较运算。
时间: 2023-09-23 10:11:33 浏览: 114
C++复数预运算类
好的,以下是Complex类的定义和运算符重载:
```cpp
class Complex {
public:
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
double getReal() const { return real; }
double getImag() const { return imag; }
bool operator<(const Complex& other) const {
return modulus() < other.modulus();
}
bool operator>(const Complex& other) const {
return modulus() > other.modulus();
}
bool operator==(const Complex& other) const {
return real == other.real && imag == other.imag;
}
private:
double real, imag;
double modulus() const {
return sqrt(real * real + imag * imag);
}
};
```
这里我们定义了一个复数类Complex,它包含实部和虚部两个私有成员变量。我们重载了 "<"、">" 和 "==" 这三个运算符,实现了复数的模比较运算。其中, "<" 运算符和 ">" 运算符都是基于复数的模来比较大小的,而 "==" 运算符则是比较实部和虚部是否相等。在运算符函数中,我们调用了 modulus() 函数来计算复数的模。
阅读全文