前言
其实运算符重载这一块大家还是忽略了他的重要性。熟练地掌握运算符重载可以更好地理解类的概念,更好地使用。
题目
注意这里的重载函数返回类型是布尔型。
代码
#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》资源!