设计一个点类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(); }
时间: 2024-03-20 18:43:26 浏览: 84
下面是完整的代码:
```cpp
#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) { // 设置点的坐标
x = _x;
y = _y;
}
void show() const { // 显示点的坐标
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;
}
```
输入两个点的坐标,程序会计算它们的和与差,并输出结果。其中,点类Point重载了+和-运算符,用于计算两个点的和与差。
阅读全文