C++점 이 원 안에 있 는 지 판단 하 는 방법

2080 단어 C++판 가름원 내
본 고 는 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; 
} 
주 파일

#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; 
} 
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기