点和圆的关系

设计一个圆类(circle),和一个点类(point),计算点和圆的关系

image-20220807222423722


<!--more-->

#include <iostream>
using namespace std;

class point
{
public:
	void setX(int x)
	{
		m_X = x;
	}

	int getX()
	{
		return m_X;
	}
	
	void setY(int y)
	{
		m_Y = y;
	}
	
	int getY()
	{
		return m_Y;
	}

private:
	int m_X;
	int m_Y;
};
class circle
{
public:
	void setR(int r)
	{
		m_R = r;
	}

	int getR()
	{
		return m_R;
	}
	
	void setCenter(point center)
	{
		m_center = center;
	}
	
	//在类中可以让另一个类作为成员
	point getCenter()
	{
		return m_center;
	}
private:
	int m_R;
	point m_center;
};

void isInCircle(circle& c, point& p)
{
	int distance=
	(c.getCenter().getX() - p.getX())* (c.getCenter().getX() - p.getX()) +
		(c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY());

	int rDistance = c.getR() * c.getR();
	
	if (distance == rDistance)
	{
		cout << "点在圆上" << endl;
	}
	else if(distance > rDistance)
	{
		cout << "点在圆外" << endl;
	}
	else
	{
		cout << "点在圆内" << endl;
	}
}
int main()
{
	circle c;
	c.setR(10);
	point center;
	center.setX(10);
	center.setY(0);
	c.setCenter(center);

	point p;
	p.setX(10);
	p.setY(10);
	
	isInCircle(c, p);
	system("pause");
	return 0;
}

总结

在一个类中可以用另一个类作为成员

posted @ 2022-08-10 18:12  独特且押韵  阅读(151)  评论(0)    收藏  举报
Title