《C++实战小练》**02:运算符重载实例(三)

前言

其实运算符重载这一块大家还是忽略了他的重要性。熟练地掌握运算符重载可以更好地理解类的概念,更好地使用。

题目

在这里插入图片描述注意这里的重载函数返回类型是布尔型。

代码

#include <iostream>
using namespace std;

class test
{
protected:
    int x1, y1, x2, y2;

public:
    test()
    {
        x1 = 0;
        y1 = 0;
        x2 = 0;
        y2 = 0;
    }
    test(int xx1, int yy1, int xx2, int yy2)
    {
        x1 = xx1;
        y1 = yy1;
        x2 = xx2;
        y2 = yy2;
    }
    void output()
    {
        cout << "first point:(" << x1 << "," << y1 << ")" << endl;
        cout << "second point:(" << x2 << "," << y2 << ")" << endl;
    }
    test operator+(test a)
    {
        test t;
        t.x1 = x1;
        t.y1 = y1;
        t.x2 = a.x2;
        t.y2 = a.y2;

        return t;
    }
    bool operator>(test a)
	{
		if((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)>((a.x2-a.x1)*(a.x2-a.x1)+(a.y2-a.y1)*(a.y2-a.y1)))
		{
			return true;
		}
		return false;
	} 
};
ostream &operator<<(ostream &s, test a)
{
    a.output();
    return s;
}

int main()
{
    test t1(1,1,2,2),t2(3,3,5,5);
	if(t1>t2)
		cout<<t1;
	else
		cout<<t2;
	return 0;
}

写在后面

这是我第四篇博客,我也想继续写下去。目前我是大一学生,有很多不懂的地方,但是想努力学习。在网上搜罗了很多资料以后,发现要么是付费的如验楼,要么是Github上我压根看不懂的源码。想找几道题目练习一下都很稀缺,所以就鼓起勇气,打算写下去,把自己做过的题给大家分享,同时也可以提高自己。
我菜的一批,但是想学好,我会持续更新,欢迎大家关注我的微信公众号,想必有很多同学和我面临一样的困惑,咱们一起学习,一起成长,我知道世界上像我一样的蒟蒻还是有很多的(逃

在这里插入图片描述关注我,我会定期分享计算机类大一在读生的学习经历,心得和体会,包括但不限于C++,算法等,目前我是个菜鸡哈哈!
关注公众号免费领取《C++ Primer Plus》资源!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值