#define _CRT_SECURE_NO_WARNINGS 1标签:圆和点,10,判断,Center,Point,int,位置,setX,setY From: https://blog.51cto.com/u_15699887/6007672
#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;
}