用c++对类Point重载“++”(自增)、“--”(自减)算符,要求同时重载前缀和后缀的形式。
时间: 2023-09-23 22:12:08 浏览: 121
类Point的代码如下:
```c++
class Point {
public:
Point(float x, float y) : x(x), y(y) {}
Point() : x(0), y(0) {}
// 前缀自增
Point& operator++() {
++x;
++y;
return *this;
}
// 后缀自增
Point operator++(int) {
Point temp(*this);
++(*this);
return temp;
}
// 前缀自减
Point& operator--() {
--x;
--y;
return *this;
}
// 后缀自减
Point operator--(int) {
Point temp(*this);
--(*this);
return temp;
}
private:
float x, y;
};
```
这里重载了前缀和后缀形式的自增和自减运算符。前缀运算符返回引用类型,因为改变了对象的值,需要返回对象本身;后缀运算符返回值类型,因为需要返回修改前的对象副本。注意区分前缀和后缀的运算符重载函数的参数,后缀运算符需要多一个int类型的参数,但这个参数不需要使用,只是用于区分前缀和后缀形式。
阅读全文