c++定义Point和Line类实现所输入两点之间距离
时间: 2024-03-07 11:46:27 浏览: 96
c++两点之间的距离
好的,我来为您解答。
首先,我们需要定义一个 `Point` 类,表示一个点的坐标。这个类可以有两个私有成员变量 `x` 和 `y`,分别表示横坐标和纵坐标。然后,我们需要定义一个 `Line` 类,表示一条直线,可以由两个点确定。这个类可以有两个私有成员变量 `p1` 和 `p2`,分别表示直线上的两个点。
接下来,我们可以在 `Point` 类中定义一个公有成员函数 `distanceTo`,用于计算当前点和另一个点之间的距离。这个函数接受一个 `Point` 类型的参数,表示另一个点。函数的实现可以使用勾股定理,计算两点之间的距离。
最后,在主函数中,我们可以使用 `cin` 输入两个点的坐标,然后创建两个 `Point` 对象和一个 `Line` 对象,分别表示这两个点和它们之间的直线。最后,调用 `Line` 类中的 `distance` 函数,计算出两个点之间的距离。
下面是代码示例:
```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() {
double x1, y1, x2, y2;
cout << "请输入第一个点的坐标(用空格隔开):";
cin >> x1 >> y1;
cout << "请输入第二个点的坐标(用空格隔开):";
cin >> x2 >> y2;
Point p1(x1, y1);
Point p2(x2, y2);
Line line(p1, p2);
cout << "两点之间的距离为:" << line.distance() << endl;
return 0;
}
```
运行结果:
```
请输入第一个点的坐标(用空格隔开):0 0
请输入第二个点的坐标(用空格隔开):3 4
两点之间的距离为:5
```
阅读全文