定义类有x,y两个成员变量对Point类重载运算符实现对坐标的改变
时间: 2024-01-22 12:20:30 浏览: 84
对Point类重载++、--运算符实现对坐标值的改变
4星 · 用户满意度95%
下面是一个示例代码,演示如何定义Point类并重载运算符实现对坐标的改变:
```cpp
#include <iostream>
using namespace std;
class Point {
public:
int x;
int y;
Point(int x = 0, int y = 0) : x(x), y(y) {}
Point operator+(const Point& p) {
return Point(x + p.x, y + p.y);
}
Point operator-(const Point& p) {
return Point(x - p.x, y - p.y);
}
Point operator*(const int n) {
return Point(x * n, y * n);
}
};
int main() {
Point p1(1, 2), p2(3, 4);
Point p3 = p1 + p2;
Point p4 = p1 - p2;
Point p5 = p1 * 2;
cout << "p1: (" << p1.x << ", " << p1.y << ")" << endl;
cout << "p2: (" << p2.x << ", " << p2.y << ")" << endl;
cout << "p1 + p2: (" << p3.x << ", " << p3.y << ")" << endl;
cout << "p1 - p2: (" << p4.x << ", " << p4.y << ")" << endl;
cout << "p1 * 2: (" << p5.x << ", " << p5.y << ")" << endl;
return 0;
}
```
在上面的代码中,我们定义了一个Point类,包含x和y两个成员变量。然后,我们重载了运算符+、-和*,分别实现了两个点的相加、相减和与一个整数相乘的操作。在main函数中,我们创建了两个Point对象p1和p2,并使用重载的运算符对它们进行了操作,得到了新的Point对象p3、p4和p5,并将它们的坐标打印出来。
阅读全文