设计一个圆形类(AdvCircle),和一个点类(Point),计算点在圆内部还是圆外
即:求点和圆的关系(圆内和圆外)
#ifndef _CIRCLE_H_
#define _CIRCLE_H_
#include "Point.h"
class Circle
{
public:
void SetCir(int r,int x,int y);
bool Judge(Point &p);
private:
int m_r;
int m_x;
int m_y;
};
#endif
#ifndef _POINT_H_
#define _POINT_H_
class Point
{
public:
void SetXY(int x,int y);
int GetX();
int GetY();
private:
int x;
int y;
};
#endif
#include "Point.h"
void Point::SetXY(int _x,int _y)
{
x = _x;
y = _y;
}
int Point::GetX()
{
return x;
}
int Point::GetY()
{
return y;
}
#include "Circle.h"
void Circle::SetCir(int r,int x,int y)
{
m_r = r;
m_x = x;
m_y = y;
}
bool Circle::Judge(Point &p)
{
int n = (p.GetX()-m_x)*(p.GetX()-m_x) + (p.GetY()-m_y)*(p.GetY()-m_y);
if(n >= (m_r*m_r))
return false;
else
return true;
}
#include <iostream>
#include "Circle.h"
#include "Point.h"
using namespace std;
int main()
{
Point p;
p.SetXY(1,2);
Circle c;
c.SetCir(1,0,0);
if(c.Judge(p))
cout << "在圆内" << endl;
else
cout << "不在圆内" << endl;
return 0;
}