点的头文件Point.h
#pragma once
class Point
{
public:
void setXY(int x,int y);
int getX();
int getY();
private:
int m_x;
int m_y;
};
圆的头文件Circle.h
#pragma once
#include "Point.h"
class Circle
{
public:
void setXY(int x,int y);
void setR(int r);
bool judgePoint(Point &p);//此处说明要引Point的头文件
private:
int x0;
int y0;
int m_r;
};
点的cpp文件Point.cpp
#include "Point.h"
void Point::setXY(int x,int y)
{
m_x = x;
m_y = y;
}
int Point::getX()
{
return m_x;
}
int Point::getY()
{
return m_y;
}
圆的cpp文件Circle.cpp
#include "Circle.h"
#include "Point.h"
void Circle::setXY(int x,int y)
{
x0 = x;
y0 = y;
}
void Circle::setR(int r)
{
m_r = r;
}
bool Circle::judgePoint(Point &p)//此处说明要引Point的头文件
{
int dd;
dd = (p.getX()-x0)*(p.getX()-x0)+(p.getY()-y0)*(p.getY()-y0);
if (dd<m_r*m_r)
return true;
else
return false;
}
mian函数
#include<iostream>
#include"Point.h"
#include"Circle.h"
using namespace std;
int main()
{
Point p ;
p.setXY(8,8);
Circle c;
c.setR(4);
c.setXY(0,0);
if (c.judgePoint(p))
cout << "点在圆内" << endl;
else
{
cout << "点在圆外" << endl;
}
return 0;
}