12月测试题:3.圆的比较

设有一个圆类,包括相关数据成员和成员函数,
要求:编写main函数对象测试代码,从键盘输入2个圆类对象的半径,根据半径比较这两个圆是否相等。

前置代码:

#include <iostream>	
using namespace std;	
class Circle
{
private:
	int r;

后置代码:

int main()
{
   int r1,r2;
   cin>>r1>>r2; 	
   Circle a(r1),b(r2);
   a.Show();
   b.Show();
   if(a==b)
      cout<<"相等"<<endl;
   else
      cout<<"不相等"<<endl;
   return 0;
}

解题思路:构造圆类circle
唯一难点 重写bool型运算符==

#include <iostream>	
using namespace std;	
class Circle
{
private:
	int r;
public:
	Circle(int a)
	{
		r=a;
	 } 
	void Show()
	{
		cout<<"半径="<<r<<endl;
	}
	friend bool operator ==(Circle &c2,Circle &c1)
	{//这里重写的==,最终希望返回bool 所以return 交给==判断
	//重写也可以这么写
	// bool operator ==(Circle &c1)
	//{ 
	//	return r==c1.r; 
	//} 
		return c2.r==c1.r;
	}
};
int main()
{
   int r1,r2;
   cin>>r1>>r2; 	
   Circle a(r1),b(r2);
   a.Show();
   b.Show();
   if(a==b)
      cout<<"相等"<<endl;
   else
      cout<<"不相等"<<endl;
   return 0;
}
发布了28 篇原创文章 · 获赞 12 · 访问量 3812

猜你喜欢

转载自blog.csdn.net/q767410241/article/details/84844629