点到圆心的距离公式也就是两点间距离公式:
C++ 判断点是否在圆的内部_#include
将类和main文件都写在一个文件中

#include <iostream>

using namespace std;

//点类
class Point{
public:
//设置一个点的坐标
void setXY(int x, int y){
m_x = x;
m_y = y;
}

int getX(){
return m_x;
}

int getY(){
return m_y;
}

private:
int m_x; // 点的x轴坐标
int m_y; // 点的y轴坐标
};

//圆 类
class Circle{
public:
//设置坐标
void setXY(int x, int y){
m_x = x;
m_y = y;
}

//设置半径
void setR(int r){
m_r = r;
}

//如果true 代表点在圆的内部
bool judgePoint(Point& p){
int d = (p.getX() - m_x) * (p.getX() - m_x) + (p.getY() - m_y) * (p.getY() - m_y);

if (d > m_r * m_r) {
return false;
} else {
return true;
}
}

private:
int m_x; // 圆心的 x轴坐标
int m_y; // 圆心的 y轴坐标
int m_r; // 圆的半径
};

int main(void){
Circle *circle = new Circle();
Point *point = new Point();


circle -> setXY(2, 2);
circle -> setR(4);

point -> setXY(5, 4);

if (circle -> judgePoint(*point) == true) {
cout << "点在圆的内部" << endl;
} else {
cout << "点在圆的外部" << endl;
}

delete circle;
delete point;
}

将类和main分开成多个文件:

Circle.h文件
#pragma once
#include "Point.h"

//圆 类
class Circle{
public:
//设置坐标
void setXY(int x, int y);

//设置半径
void setR(int r);


//如果true 代表点在圆的内部
bool judgePoint(Point& p);

private:
int m_x;
int m_y;
int m_r;
};
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.cpp文件
#include "Circle.h"

void Circle::setXY(int x, int y)
{
m_x = x;
m_y = y;
}


//设置半径
void Circle::setR(int r)
{
m_r = r;
}

//如果true 代表点在圆的内部
bool Circle::judgePoint(Point& p)
{
int dd = (p.getX() - m_x) * (p.getX() - m_x) + (p.getY() - m_y) * (p.getY() - m_y);

if (dd > m_r * m_r) {
return false;
}
else {
return true;
}
}
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;
}
main.cpp文件
#include <iostream>
#include "Circle.h"
#include "Point.h"

using namespace std;

int main(){
Circle* circle = new Circle();
Point* point = new Point();


circle->setXY(2, 2);
circle->setR(4);

point->setXY(5, 4);

if (circle->judgePoint(*point) == true) {
cout << "点在圆的内部" << endl;
}
else {
cout << "点在圆的外部" << endl;
}

delete circle;
delete point;
}