用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 15:37:12 浏览: 26
这是一个关于C++类的问题,以下是代码实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Point {
public:
Point(double x, double y) : x(x), y(y) {}
friend double distance(Point& a, Point& b);
private:
double x, y;
};
double distance(Point& a, Point& b) {
return sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2));
}
class Circle {
public:
Circle(double x, double y, double r) : center(x, y), radius(r) {}
bool is_on_circle(Point& m) {
return distance(center, m) == radius;
}
private:
Point center;
double radius;
};
int main() {
Point m(6, 2);
Circle c(1, 2, 5);
if (c.is_on_circle(m)) {
cout << "1" << endl;
} else {
cout << "0" << endl;
}
return 0;
}
```
在上述代码中,`Point` 类表示一个点,`Circle` 类表示一个圆,`Circle` 类中包含一个 `Point` 对象作为圆心,一个半径。`Circle` 类中的 `is_on_circle()` 函数可用于判断某个点是否在圆周上。在 `main()` 函数中,我们创建了一个点 `m` 和一个圆 `c`,并使用 `is_on_circle()` 函数判断 `m` 是否在圆 `c` 上,最终输出判断结果。