用c++定义Point类描述点,并加入一个友元函数计算两点间距离。利用Point类设计描述圆的Circle类,包括圆心(Point类的点)、半径,构造函数初始化圆,成员函数判断某个点m是否在圆周上。设计main()函数,以(1,2)为圆心、5为半径、m为(6,2)进行测试。 【输入形式】无。使用构造函数进行初始化。 【输出形式】输出为1或0,表示m点是否在指定圆周上的判断结果。1表示m点在指定圆周上;0表示m点不在圆周上。 【样例输入】无 【样例输出】1 【样例说明】main()函数中,以(1,2)为圆心、5为半径创建圆对象,通过调用判断点是否在圆周上的函数,得到结论:m(6,2)点在圆周上。
时间: 2024-03-27 07:37:58 浏览: 76
用c++编写一个程序,设计一个点类Point,求两个点之间的距离。
5星 · 资源好评率100%
以下是代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Point {
double x, y;
public:
Point(double _x = 0, double _y = 0) : x(_x), y(_y) {}
friend double distance(const Point &p1, const Point &p2) {
return sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
};
class Circle {
Point center;
double radius;
public:
Circle(const Point &_center, double _radius) : center(_center), radius(_radius) {}
bool isPointOnCircle(const Point &p) {
return fabs(distance(center, p) - radius) < 1e-6;
}
};
int main() {
Point center(1, 2);
double radius = 5;
Circle circle(center, radius);
Point m(6, 2);
cout << circle.isPointOnCircle(m) << endl;
return 0;
}
```
在上述代码中,我们首先定义了一个Point类,通过友元函数计算两个点之间的距离。接着,我们定义了一个Circle类,包含圆的圆心(使用Point类的点)和半径,构造函数初始化圆,成员函数isPointOnCircle判断某个点是否在圆周上。最后,我们在main函数中,以(1,2)为圆心、5为半径创建圆对象,通过调用判断点是否在圆周上的函数,得到结论:m(6,2)点在圆周上。
阅读全文