使用c++二维空间通常采用X,Y坐标表示一个点,点有移动、坐标值增减计算(如分别增加若干个单位)和输出点坐标的3个操作;为确保数据安全,用户不能直接对点的X,Y坐标赋值(X,Y坐标均为整数),请你设计一个类,实现上述功能。 输入格式 输入数据包含3行,第一行是点的初始坐标,第二行是点移动后的新坐标,第三行分别是对坐标X轴和Y轴的增加量。 输出格式 输入数据包含3行,第一行是“点的坐标为:(X,Y)”,第二行是“移动后点的坐标为:(X,Y)”,第三行是“X轴和Y轴增量后点的坐标为:(X,Y)”。
时间: 2024-03-08 17:47:50 浏览: 149
以下是实现该类的代码:
```cpp
#include <iostream>
using namespace std;
class Point {
public:
Point(int x, int y): x(x), y(y) {}
void move(int dx, int dy) {
x += dx;
y += dy;
}
void increase(int dx, int dy) {
x += dx;
y += dy;
}
void print() {
cout << "点的坐标为:(" << x << ", " << y << ")" << endl;
}
private:
int x, y;
};
int main() {
int x, y, dx, dy;
cin >> x >> y;
Point p(x, y);
cin >> x >> y;
p.move(x, y);
cin >> dx >> dy;
p.increase(dx, dy);
p.print();
p.move(0, 0);
p.print();
return 0;
}
```
其中,`Point` 类表示二维空间中的一个点,构造函数接收初始坐标,`move` 方法实现点的移动,`increase` 方法实现坐标值的增减计算,`print` 方法输出点的坐标。在 `main` 函数中,首先读入点的初始坐标,然后对点进行移动和坐标值的增减计算,最后输出三个状态下的点的坐标。注意,为确保数据安全,`x` 和 `y` 都定义成了类的私有变量,外部不能直接访问。
阅读全文