编写程序声明Point类,在类中声明整型的私有成员变量x、y,声明成员函数Point& operator++( );Point operator++( int);以实现对Point类重载“++”(自增)运算符,声明成员函数Point& operator--( );Point operator--( int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。
时间: 2023-12-11 18:05:21 浏览: 158
对Point类重载++、--运算符实现对坐标值的改变
4星 · 用户满意度95%
好的,以下是Point类的代码实现,包括对“++”和“--”运算符的重载:
```c++
class Point {
private:
int x, y;
public:
Point(int x = 0, int y = 0) : x(x), y(y) {}
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;
}
};
```
这个Point类有两个私有成员变量x和y,一个构造函数,以及对“++”和“--”运算符的重载。在前置“++”运算符中,我们将x和y都加1,并返回指向当前对象的引用。在后置“++”运算符中,我们首先创建一个临时对象存储当前对象的值,然后再调用前置“++”运算符,最后返回这个临时对象。对于前置“--”和后置“--”运算符的重载,同理。
阅读全文