主函数:
#include<iostream>
using namespace std;
#include"point.h"
#include"circle.h"
//点和圆的关系案例:
//1.创建一个点类
//class point
//{
//public:
// //设置x坐标
// void setX(int x = 0)
// {
// m_x = x;
// };
// //获取x坐标
// int getX()
// {
// return m_x;
// }
// //设置y坐标
// void setY(int y = 0)
// {
// m_y = y;
// }
// //获取y坐标
// int getY()
// {
// return m_y;
// }
//private:
// int m_x;
// int m_y;
//
//};
//2.创建一个圆类
//class circle
//{
//public:
// //设置半径
// void setR(int r)
// {
// m_r = r;
// }
// //获取半径
// int getR()
// {
// return m_r;
// }
// //设置圆心
// void setCircleCenter(point center)
// {
// m_center = center;
// }
// //获取圆心
// point getCenter()
// {
// return m_center;
// }
//private:
// int m_r;//半径
// //在一个类中可以让另一个类作为成员
// point m_center;//圆心
//};
//判断点和圆的关系
void isInCircle(circle& c, point& p)
{
//1.计算两点距离平方
int retDis =
(c.getCenter().getX() - p.getX()) * (c.getCenter().getX() - p.getX())
+ (c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY());
//2.计算半径平方
int retR = c.getR()*c.getR();
//3.判断点和圆的距离关系
if (retDis == retR)
{
cout << "点在圆上" << endl;
}
else if (retDis > retR)
{
cout << "点在圆外" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
//
//
int main()
{
//创建一个圆
circle c;
c.setR(10);
point center;
center.setX(10);
center.setY(10);
c.setCircleCenter(center);
//创建一个点
point p;
p.setX(10);
p.setY(20);
//判断点和圆的关系
isInCircle(c, p);
system("pause");
return 0;
}
圆的头文件:
#pragma once
#include<iostream>
using namespace std;
#include "point.h"
class circle
{
public:
//设置半径
void setR(int r);
//获取半径
int getR();
//设置圆心
void setCircleCenter(point center);
//获取圆心
point getCenter();
private:
int m_r;//半径
//在一个类中可以让另一个类作为成员
point m_center;//圆心
};
圆的主函数:
#include"circle.h"
//设置半径
void circle::setR(int r)
{
m_r = r;
}
//获取半径
int circle::getR()
{
return m_r;
}
//设置圆心
void circle::setCircleCenter(point center)
{
m_center = center;
}
//获取圆心
point circle::getCenter()
{
return m_center;
}
点的头文件
#pragma once//防止头文件重复包含
#include<iostream>
using namespace std;
//只留下函数申明和变量申明
class point
{
public:
//设置x坐标
void setX(int x );
//获取x坐标
int getX();
//设置y坐标
void setY(int y );
//获取y坐标
int getY();
private:
int m_x;
int m_y;
};
点的主函数
#include "point.h"
//留下函数的所有实现
//设置x坐标
void point::setX(int x = 0)//::表示point作用域下的setX函数
{
m_x = x;
};
//获取x坐标
int point::getX()
{
return m_x;
}
//设置y坐标
void point::setY(int y = 0)
{
m_y = y;
}
//获取y坐标
int point::getY()
{
return m_y;
int m_x;
int m_y;
};