首页 > 编程 > C++ > 正文

C++判断一个点是否在圆内的方法

2020-05-23 13:26:32
字体:
来源:转载
供稿:网友

本文为大家分享了C++如何判断一个点是否在圆内的方法,供大家参考,具体内容如下

圆的头文件

#ifndef __CRICLE_H__ #define __CRICLE_H__ #include "point.h" class Circle { public:   //创建圆   void init(int r, int x, int y);   //判断点是否在 当前圆 内   bool inCircle(Point &p); private:   Point _c;   int _r; };  #endif// __CRICLE_H__ 

点的头文件

#ifndef __POINT_H__ #define __POINT_H__  class Point { public:   //创建点   void init(int x, int y);   //测一个点和当前点的距离的平方   int distance(Point &p); private:   int _x;   int _y; };  #endif//__POINT_H__ 

圆的源文件

#include "circle.h"  void Circle::init(int r, int x, int y) {   _r = r;   _c.init(x, y); }  bool Circle::inCircle(Point &p) {   //计算点p和 当前圆圆心c 的距离   int dis = p.distance(_c);    //和半径比较   if (dis <= _r*_r)     return true;   else     return false; } 

点的源文件

#include "point.h"  void Point::init(int x, int y) {   _x = x;   _y = y; }  int Point::distance(Point &p) {   int dis = (_x-p._x)*(_x-p._x)     + (_y-p._y)*(_y-p._y);    return dis; } 

main文件

#include <iostream> #include "circle.h" #include "point.h" using namespace std;  int main() {   //一个点   Point p;   p.init(1,2);    Circle c;   c.init(3, 0, 0);    if (c.inCircle(p))     cout << "在圆内" << endl;   else     cout << "在圆外" << endl;    return 0; } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表