Problem E: 平面上的点——Point类 (V)
时间: 2023-11-11 11:05:10 浏览: 50
这是一个简单的点类,它包含了点的坐标以及一些基本的操作。以下是一个可能的实现:
```cpp
#include <cmath>
class Point {
public:
Point(double x = 0, double y = 0) : x(x), y(y) {}
double getX() const { return x; }
double getY() const { return y; }
void setX(double x) { this->x = x; }
void setY(double y) { this->y = y; }
double distanceTo(const Point& other) const {
double dx = x - other.x;
double dy = y - other.y;
return std::sqrt(dx * dx + dy * dy);
}
private:
double x, y;
};
```
这个类包含了两个私有成员变量 `x` 和 `y`,它们表示点的坐标。类中定义了一个默认构造函数,可以创建坐标为 $(0, 0)$ 的点,也可以传入指定的坐标。类中还定义了一些公有成员函数:
- `getX()` 和 `getY()`:获取点的横坐标和纵坐标。
- `setX(double)` 和 `setY(double)`:设置点的横坐标和纵坐标。
- `distanceTo(const Point&)`:计算该点与另一个点的距离。距离的计算采用勾股定理,即 $\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}$。
这个点类还有很多可以改进的地方,比如加入运算符重载、添加异常处理等等。