点类的头文件
#pragma once
#include <iostream>
using namespace std;
class Point
{
public:
void setX1(int X1);
int getX1();
void setX2(int X2);
int getX2();
private:
int p_X1;
int p_X2;
};
圆类的头文件
#pragma once
#include <iostream>
using namespace std;
#include "point.h"
class Circle
{
public:
void setCenter(Point center);
Point getCenter();
void setR(int R);
int getR();
private:
Point m_Center;//在类中可以让另一个类作为本类中的成员
int m_R;
};
圆类的.cpp文件
#include "circle.h"
void Circle::setCenter(Point center)
{
m_Center = center;
}Point Circle::getCenter()
{
return m_Center;
}
void Circle::setR(int R)
{
m_R = R;
}int Circle::getR()
{
return m_R;
}
点类的.cpp文件
#include "point.h"
void Point::setX1(int X1)//加上作用域Point::,表示Point作用域下的成员函数
{
p_X1 = X1;
}int Point::getX1()
{
return p_X1;
}
void Point::setX2(int X2)
{
p_X2 = X2;
} int Point::getX2()
{
return p_X2;
}
全局函数和main函数
#include <iostream>
using namespace std;
#include "Circle.h"
#include "point.h"
//设计一个圆类和一个点类,计算点和圆的关系
//判断点和圆的关系
void PD(Circle &c,Point &p)
{
int D =
(c.getCenter().getX1() - p.getX1()) * (c.getCenter().getX1() - p.getX1()) +
(c.getCenter().getX2() - p.getX2()) * (c.getCenter().getX2() - p.getX2());
int rD = c.getR() * c.getR();
cout << D << endl;
cout << rD << endl;
if(D == rD)
{
cout << "点在圆上" << endl;
}
else if (D > rD)
{
cout << "点在圆外" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
int main()
{
Circle c;
c.setR(10);
Point center;
center.setX1(10);
center.setX2(0);
c.setCenter(center);
Point p;
p.setX1(10);
p.setX2(11);
PD(c, p);
system("pause");
return 0;
}