设计一个点类Point,实现点对象之间的+和-运算。 #include<iostream> using namespace std; 提供补充代码 int main() { Point p1,p2,psum,psub; int x,y; cin>>x>>y; p1.setP(x,y); cin>>x>>y; p2.setP(x,y); psum=p1+p2; psub=p1-p2; cout<<"两点相加:"; psum.show(); cout<<"两点相减:"; psub.show(); } 【输入形式】 两个点坐标 【输出形式】 两个点相加及相减的结果 【样例输入】 2 3 2 4 【样例输出】 两点相加:[4,7] 两点相减:[0,-1]
时间: 2024-03-20 19:43:10 浏览: 144
以下是Point类的实现代码:
```
#include<iostream>
using namespace std;
class Point {
private:
int x, y;
public:
Point() {} // 默认构造函数
Point(int x, int y) : x(x), y(y) {} // 带参数构造函数
Point operator+(const Point& p) const { // 重载+运算符
return Point(x + p.x, y + p.y);
}
Point operator-(const Point& p) const { // 重载-运算符
return Point(x - p.x, y - p.y);
}
void setP(int x, int y) { // 设置点坐标
this->x = x;
this->y = y;
}
void show() { // 显示点坐标
cout << "[" << x << "," << y << "]" << endl;
}
};
int main() {
Point p1, p2, psum, psub;
int x, y;
cin >> x >> y;
p1.setP(x, y);
cin >> x >> y;
p2.setP(x, y);
psum = p1 + p2;
psub = p1 - p2;
cout << "两点相加:";
psum.show();
cout << "两点相减:";
psub.show();
return 0;
}
```
运行结果:
输入:
```
2 3
2 4
```
输出:
```
两点相加:[4,7]
两点相减:[0,-1]
```
阅读全文