设计一个描述点的类,其中包含一对坐标点数据成员、一个求两个点之间距离的友元函数和显示坐标点的成员函数,并编程实现(数据自定义)。 提示: 需要使用计算两点(a,b)和(c,d)之间的距离公式,并定义坐标点类的友元函数来计算两点间的距离。
时间: 2024-04-29 10:25:19 浏览: 220
友元机制计算两点之间的距离
这是一个很好的问题!那我就开始回答吧。
首先,我们可以设计一个描述点的类,如下:
```cpp
class Point{
private:
double x, y; // 定义坐标点数据成员
public:
Point(double a, double b): x(a), y(b) {} // 构造函数
friend double distance(Point &p1, Point &p2) {// 友元函数,用于计算两点之间的距离
return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
void showPoint() {// 显示坐标点的成员函数
cout << "坐标为(" << x << ", " << y << ")" << endl;
}
};
```
其中,我们定义了一个构造函数,用于初始化每个对象的数据成员;友元函数用于计算两个点之间的距离;显示坐标点的成员函数用于展示当前点的坐标。
然后,我们可以编写测试代码来实现这个类:
```cpp
int main() {
Point p1(1, 2), p2(3, 4); // 模拟两个点的坐标
cout << "点1的坐标:";
p1.showPoint(); // 显示点1的坐标
cout << "点2的坐标:";
p2.showPoint(); // 显示点2的坐标
cout << "两点之间的距离:" << distance(p1, p2) << endl; // 计算并显示两点之间的距离
return 0;
}
```
输出结果:
```
点1的坐标:坐标为(1, 2)
点2的坐标:坐标为(3, 4)
两点之间的距离:2.82843
```
希望这个答案可以满足你的需求!
阅读全文