编写程序声明Point类,在类中声明整型的私有成员变量x、y,声明成员函数Point& operator++( );Point operator++( int);以实现对Point类重载“++”(自增)运算符,声明成员函数Point& operator--( );Point operator--( int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。
时间: 2023-12-11 15:04:15 浏览: 111
好的,以下是实现上述要求的Point类的示例代码:
```cpp
class Point {
private:
int x;
int 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 的初始值,这是一种方便且高效的初始化方式。此外,我们在后置自增和后置自减运算符中,使用了一个名为 temp 的 Point 类型的对象,用于存储原本的对象值的副本。最后,在每个运算符的实现中,我们都对坐标值进行了相应的修改,以实现自增和自减的操作。
阅读全文