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<<"在圆内"< 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。