6.定义Point类,重载”++”(自增)、 “--”(自减)运算符,要求同时重载前缀和后缀的形式。以C++形式
时间: 2024-12-23 14:27:00 浏览: 15
在C++中,为了定义一个支持自增(++)和自减(--)操作的`Point`类,并实现前缀和后缀形式的重载,你可以这样做:
```cpp
class Point {
public:
// 假设Point有一个x和y坐标属性
double x, y;
// 构造函数
Point(double x = 0, double 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 main() {
Point p(3, 4);
std::cout << "Prefix increment: " << ++p.x << ", " << ++p.y << "\n";
std::cout << "Suffix increment: " << p++ << ".x = " << p.x << ", " << p++ << ".y = " << p.y << "\n";
std::cout << "Prefix decrement: " << --p.x << ", " << --p.y << "\n";
std::cout << "Suffix decrement: " << p-- << ".x = " << p.x << ", " << p-- << ".y = " << p.y << "\n";
return 0;
}
```
在这个例子中,`operator++()` 和 `operator--()` 实现了前缀自增和自减,而 `operator++(int)` 和 `operator--(int)` 则分别实现了后缀形式。
阅读全文