C++判断一个点是否在圆内的方法
本文为大家分享了C++如何判断一个点是否在圆内的方法,供大家参考,具体内容如下
圆的头文件
#ifndef__CRICLE_H__
#define__CRICLE_H__
#include"point.h"
classCircle
{
public:
//创建圆
voidinit(intr,intx,inty);
//判断点是否在当前圆内
boolinCircle(Point&p);
private:
Point_c;
int_r;
};
#endif//__CRICLE_H__
点的头文件
#ifndef__POINT_H__
#define__POINT_H__
classPoint
{
public:
//创建点
voidinit(intx,inty);
//测一个点和当前点的距离的平方
intdistance(Point&p);
private:
int_x;
int_y;
};
#endif//__POINT_H__
圆的源文件
#include"circle.h"
voidCircle::init(intr,intx,inty)
{
_r=r;
_c.init(x,y);
}
boolCircle::inCircle(Point&p)
{
//计算点p和当前圆圆心c的距离
intdis=p.distance(_c);
//和半径比较
if(dis<=_r*_r)
returntrue;
else
returnfalse;
}
点的源文件
#include"point.h"
voidPoint::init(intx,inty)
{
_x=x;
_y=y;
}
intPoint::distance(Point&p)
{
intdis=(_x-p._x)*(_x-p._x)
+(_y-p._y)*(_y-p._y);
returndis;
}
main文件
#include#include"circle.h" #include"point.h" usingnamespacestd; intmain() { //一个点 Pointp; p.init(1,2); Circlec; c.init(3,0,0); if(c.inCircle(p)) cout<<"在圆内"< 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。