#define _CRT_SECURE_NO_WARNINGS 1 
#include<iostream>
using namespace std;
#include<cmath>
//点类
class Point
{
  int X, Y;
public:
  void setX(int x)//设置x坐标
  {
    X = x;
  }
  int getX()
  {
    return X;
  }
  void setY(int y)//设置y坐标
  {
    Y = y;
  }
  int getY()
  {
    return Y;
  }
};
//圆类
class Circle
{
  int radius;
public:
  void setR(int r)//设置半径R
  {
    radius = r;
  }
  int getR()
  {
    return radius;
  }
  Point Center;//圆心
  
};
//判断圆和点的位置关系:
void isSameLocal(Circle c, Point p)
{
  //计算两点之间的距离
  double distance =
  sqrt(pow((c.Center.getX() - p.getX()), 2) + pow(c.Center.getY() - p.getY(), 2));
  int r = c.getR();//圆的半径
  
  if (distance == r)
  {
    cout << "点在圆上" << endl;
  }
  else if (distance > r)
  {
    cout << "点在圆外" << endl;
  }
  else
  {
    cout << "点在圆内" << endl;
  }
}
int main()//类默认权限为 私有型:private
{
  Point p1;//创建点1
  p1.setX(11);
  p1.setY(10);
  Point p2;//创建点2
  p2.setX(10);
  p2.setY(10);
  Point p3;//创建点3
  p3.setX(10);
  p3.setY(9);
  Circle c;//创建圆
  c.setR(10);
  c.Center.setX(10);
  c.Center.setY(0);
  //判断圆和点之间的关系:
  isSameLocal(c, p1);
  isSameLocal(c, p2);
  isSameLocal(c, p3);
  system("pause");
  return 0;
}