c++设计一个点类,数据为点的纵、横坐标,成员函数包含构造函数,输出函数;类外定义一个点类的友元函数,求解两点之间的距离。
时间: 2024-10-25 19:06:59 浏览: 43
C++高级程序设计实验三-类和对象构造函数与析构函数
在C++中,我们可以创建一个简单的Point类来表示二维空间中的一个点,其数据成员包括x和y坐标。下面是一个基本的设计:
```cpp
class Point {
public:
// 构造函数,用于初始化点的位置
explicit Point(double x = 0.0, double y = 0.0) : x_(x), y_(y) {}
// 数据成员
double getX() const { return x_; }
double getY() const { return y_; }
// 输出函数,打印点的坐标
void print() const {
std::cout << "Point (" << x_ << ", " << y_ << ")\n";
}
private:
// 点的坐标
double x_;
double y_;
// 友元函数声明,因为距离计算不需要访问私有成员
friend double distance(const Point& p1, const Point& p2);
};
// 友元函数实现,计算两个点之间的欧氏距离
double distance(const Point& p1, const Point& p2) {
double dx = p1.getX() - p2.getX();
double dy = p1.getY() - p2.getY();
return sqrt(dx * dx + dy * dy); // 使用平方根公式计算距离
}
```
阅读全文