C++学习日志14--设计一个圆类

前言

这篇文章主要讲述C++中如何设计一个圆类

一、代码

//跟着视频学习的代码,分享记录一下
#include<iostream>
#include<string>
using namespace std;
//点和圆关系案例
class Point
{
    
    
public:
	//设置x
	void setx(int x)
	{
    
    
		m_x = x;
	}
	//获取x
	int getx()
	{
    
    
		return m_x;
	}
	//设置y
	void sety(int y)
	{
    
    
		m_y = 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 if (distance <rDistance)
	{
    
    

		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");
}

总结

1.代码可以直接运行,如有不懂请留言哦。

猜你喜欢

转载自blog.csdn.net/taiyuezyh/article/details/122934261