对类Point重载++(自增)、--(自减)运算符,要求同时重载前缀和后缀的形式。要求:定义成员函数实现重载it main也填上
时间: 2024-02-21 15:57:22 浏览: 109
好的,下面是完整的代码实现,包括主函数:
```c++
#include <iostream>
class Point {
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;
}
int getX() const { return x; }
int getY() const { return y; }
private:
int x, y;
};
int main() {
Point p(3, 4);
std::cout << "p = (" << p.getX() << ", " << p.getY() << ")" << std::endl;
++p;
std::cout << "++p = (" << p.getX() << ", " << p.getY() << ")" << std::endl;
p++;
std::cout << "p++ = (" << p.getX() << ", " << p.getY() << ")" << std::endl;
--p;
std::cout << "--p = (" << p.getX() << ", " << p.getY() << ")" << std::endl;
p--;
std::cout << "p-- = (" << p.getX() << ", " << p.getY() << ")" << std::endl;
return 0;
}
```
在这段代码中,我们定义了一个Point类,重载了++(自增)、--(自减)运算符,并且同时重载了前缀和后缀的形式。在main函数中,我们创建了一个Point对象p,然后分别对其进行前缀和后缀的自增、自减操作,最后输出了结果。
阅读全文