#include<iostream>
using namespace std;
class point//点
{
public:
void setX(int x)
{
mx = x;
}
int getX()
{
return mx;
}
void setY(int y)
{
my = y;
}
int getY()
{
return my;
}
private:
int mx;
int my;
};
class circle//圆
{
public:
void setR(int R)
{
mr = R;
}
int getR()
{
return mr;
}
void setP(point p)
{
mp = p;
}
point getP()
{
return mp;
}
private:
int mr;
point mp;
};
void isin(circle& c, point& p)//求点到圆的距离函数
{
int d=
(c.getP().getX() - p.getX())* (c.getP().getX() - p.getX()) -
(c.getP().getY() - p.getY()) * (c.getP().getY() - p.getY());
int l = c.getR()*c.getR();
if (d > l)
{
cout << "圆外" << endl;
}
else if (d == l)
{
cout << "圆上"<< endl;
}
else
{
cout << "圆内" << endl;
}
}
int main()
{
circle c;//定义一个圆
c.setR(10);//圆的半径
point mp;//定义圆心的坐标
mp.setX(10);//圆心为10,0
mp.setY(10);
c.setP(mp);//定义圆心的坐标,但因为圆的坐标是用point定义的,要先定义一个点mp
point p;//定义未知点
p.setX(10);//未知点(10,5)
p.setY(5);
isin(c, p);//套用函数
return 0;
}