c++定义Point和Line类实现两点之间距离
时间: 2024-03-07 08:46:26 浏览: 66
好的,我来为您解答。
首先,我们需要定义一个 `Point` 类,表示一个点的坐标。这个类可以有两个私有成员变量 `x` 和 `y`,分别表示横坐标和纵坐标。然后,我们需要定义一个 `Line` 类,表示一条直线,可以由两个点确定。这个类可以有两个私有成员变量 `p1` 和 `p2`,分别表示直线上的两个点。
接下来,我们可以在 `Point` 类中定义一个公有成员函数 `distanceTo`,用于计算当前点和另一个点之间的距离。这个函数接受一个 `Point` 类型的参数,表示另一个点。函数的实现可以使用勾股定理,计算两点之间的距离。
最后,在 `Line` 类中定义一个公有成员函数 `distance`,用于计算直线上两点之间的距离。这个函数可以调用 `Point` 类中的 `distanceTo` 函数,计算出两个点之间的距离。
下面是代码示例:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x, y; // 点的坐标
public:
Point(double _x, double _y): x(_x), y(_y) {}
double distanceTo(Point p) {
return sqrt(pow(x - p.x, 2) + pow(y - p.y, 2));
}
};
class Line {
private:
Point p1, p2; // 直线上的两个点
public:
Line(Point _p1, Point _p2): p1(_p1), p2(_p2) {}
double distance() {
return p1.distanceTo(p2);
}
};
int main() {
Point p1(0, 0);
Point p2(3, 4);
Line line(p1, p2);
cout << "The distance between (" << p1.distanceTo(p2) << ")" << endl;
cout << "The distance on the line is (" << line.distance() << ")" << endl;
return 0;
}
```
运行结果:
```
The distance between (5)
The distance on the line is (5)
```
阅读全文