设计并测试点类Point,其数据成员是直角坐标系的点坐标(私有成员),友元函数dist用来计算两点间的距离。
时间: 2024-02-11 17:06:42 浏览: 87
友元机制计算两点之间的距离
好的,我可以帮您设计并测试这个类。以下是一个基本的Point类的实现,您可以参考它:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x;
double y;
public:
// 构造函数
Point(double x = 0, double y = 0) : x(x), y(y) {}
// 友元函数
friend double dist(const Point& p1, const Point& p2);
// 输出函数
void print() {
cout << "(" << x << ", " << y << ")" << endl;
}
};
// 计算两点间的距离
double dist(const Point& p1, const Point& p2) {
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return sqrt(dx * dx + dy * dy);
}
int main() {
Point p1(1, 2);
Point p2(3, 4);
cout << "p1 = ";
p1.print();
cout << "p2 = ";
p2.print();
cout << "dist(p1, p2) = " << dist(p1, p2) << endl;
return 0;
}
```
在上面的代码中,我们定义了一个Point类,它有两个私有数据成员x和y,表示点的坐标。我们还定义了一个构造函数,用于初始化这些数据成员。另外,我们还定义了一个友元函数dist,用于计算两个点之间的距离。在主函数中,我们创建了两个点p1和p2,并使用print函数输出它们的坐标,然后使用dist函数计算它们之间的距离并输出结果。
您可以将上面的代码复制到本地编译器中运行,测试Point类的实现是否正确。
阅读全文