复数类的++,--怎么重载
时间: 2023-08-27 13:27:02 浏览: 97
在复数类中,++和--运算符可以有两种不同的实现方式,即前置和后置。前置++和--会先对复数进行加1或减1的操作,然后返回修改后的复数值;而后置++和--会先返回复数的原始值,然后再对其进行加1或减1的操作。下面是两种实现方式的代码示例。
1. 前置++和--运算符重载
```c++
class Complex {
public:
// 前置++
Complex& operator++() {
this->real += 1;
this->imag += 1;
return *this;
}
// 前置--
Complex& operator--() {
this->real -= 1;
this->imag -= 1;
return *this;
}
private:
double real; // 实部
double imag; // 虚部
};
```
2. 后置++和--运算符重载
```c++
class Complex {
public:
// 后置++
Complex operator++(int) {
Complex old = *this;
this->real += 1;
this->imag += 1;
return old;
}
// 后置--
Complex operator--(int) {
Complex old = *this;
this->real -= 1;
this->imag -= 1;
return old;
}
private:
double real; // 实部
double imag; // 虚部
};
```
注意,在后置++和--运算符重载中,我们使用了一个int类型的参数,这个参数没有被使用,仅仅是为了区别前置和后置运算符。这是因为C++规定,后置运算符必须带一个int类型的参数,而前置运算符不需要。
阅读全文