#C++#封装案例(点和圆的位置关系)

这篇博客探讨了如何在C++中进行对象封装,通过实例展示了如何定义点和圆的类,并实现判断点是否在圆内、圆上或圆外的功能。详细讲解了相关代码逻辑和实现方法。
摘要由CSDN通过智能技术生成

#C++#封装案例(点和圆的位置关系)

#include <iostream>
using namespace std;
//点和圆的位置关系
class Point{
private: 
	int m_x;
	int m_y;
public:
	void setX(int x){
		m_x=x;
	}
	void setY(int y){
		m_y=y;
	}
	int getX(){
		return m_x;
	}
	int getY(){
		return m_y;
	}
};
class Circle{
private:
	int m_r;
	Point m_center;
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;
	}
}; 

void isCircle(Circle &c,Point &p){
	int d=
	(c.getCenter().getX()-p.getX())*(c.getCenter().getX()-p.getX())+
	(c.getCenter().getY()-p.getY())*(c.getCenter().getY()-p.getY());
	int rd=c.getR()*c.getR();
	if(d==rd){
		cout<<"点在圆上"<<endl;
	}else if(d<rd){
		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(11); 
	isCircle(c,p);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值