c++friend float distance
时间: 2023-11-04 08:07:06 浏览: 63
C++面试八股文深度总结
5星 · 资源好评率100%
您的问题是关于 C++ 中的友元函数和计算两点之间距离的问题。下面是一个示例代码:
```c++
#include <iostream>
#include <cmath>
class Point {
private:
float x, y;
public:
Point(float x = 0, float y = 0) : x(x), y(y) {}
friend float distance(Point p1, Point p2);
};
float distance(Point p1, Point p2) {
float dx = p1.x - p2.x;
float dy = p1.y - p2.y;
return std::sqrt(dx * dx + dy * dy);
}
int main() {
Point p1(1, 2);
Point p2(4, 6);
std::cout << "Distance between p1 and p2 is " << distance(p1, p2) << std::endl;
return 0;
}
```
在上面的代码中,我们定义了一个 `Point` 类,其中包含了两个私有成员变量 `x` 和 `y`,表示点的坐标。我们还定义了一个友元函数 `distance`,用于计算两个点之间的距离。在 `distance` 函数中,我们使用了 `<cmath>` 头文件中的 `sqrt` 函数来计算平方根。
阅读全文