#include <iostream> using namespace std; // 点类 class Pointer { private: int x; // x 坐标 int y; // y 坐标 public: void setX(int x) { this->x = x; //属性赋值 } int getX() { return x; } void setY(int y) { this->y = y; } int getY() { return y; } }; // 圆类 class Circle { private: Pointer center; // 圆心 int radius; // 半径 public: void setCenter(int x, int y) { center.setX(x); center.setY(y); } void setRadius(int radius) { this->radius = radius; } // 在圆类中实现一个 isPointerInCircle方法 void isPointerInCircle(Pointer p){ int a = (p.getX() - center.getX())*(p.getX() - center.getX()) + (p.getY() - center.getY())*(p.getY() - center.getY()); //p横坐标与圆心横坐标相减后的平方+p纵坐标与圆心纵坐标相减后的平方 与 r*r 进行比较 int b = radius*radius; if (a == b) cout << "on"; if (a < b) cout << "in"; if (a > b) cout << "out"; } }; int main() { // 键盘输入点的坐标 int x, y; cin >> x; cin >> y; // 创建一个点 Pointer p; //设置点的实例p p.setX(x); p.setY(y); // 创建一个圆 Circle c; //设置圆的实例c c.setCenter(5, 0); c.setRadius(5); // 判断点和圆的关系 c.isPointerInCircle(p); return 0; }