#include<iostream>
using namespace std;
class Point
{
public:
void set_X(int x) { mX = x; }
void set_Y(int y) { mY = y; }
int get_X() { return mX; }
int get_Y() { return mY; }
private:
int mX;
int mY;
};
class Circle
{
public:
void set_P(int x, int y) { mP.set_X(x); mP.set_Y(y); }
void set_R(int r) { mR = r; }
Point& get_P() { return mP; }
int get_R() { return mR; }
//判断点和圆的关系
void IsPointInCircle(Point& point)
{
int distance = (point.get_X() - mP.get_X()) * (point.get_X() - mP.get_X()) + (point.get_Y() - mP.get_Y()) * (point.get_Y() - mP.get_Y());
int radius = mR * mR;
if (distance = radius) {
cout << "点在圆上" << endl;
}
else if (distance < radius) {
cout << "点在圆内" << endl;
}
else {
cout << "点在圆外" << endl;
}
}
private:
Point mP;
int mR;
};
void test(){
//实例化点对象
Point point;
point.set_X(20);
point.set_Y(10);
//实例化圆对象
Circle circle;
circle.set_P(15, 20);
circle.set_R(10);
//判断点和圆的关系
circle.IsPointInCircle(point);
}
int main()
{
test();
return 0;
}
c++类的封装案例----点和圆的关系
最新推荐文章于 2024-07-16 18:00:34 发布