1> 思维导图

2> 整理代码
- #include
-
- using namespace std;
-
- class Person
- {
- friend const Person operator+(const Person &L, const Person &R);
- friend const Person operator-(const Person &L, const Person &R);
- friend const Person operator*(const Person &L, const Person &R);
- friend const Person operator/(const Person &L, const Person &R);
- friend const Person operator%(const Person &L, const Person &R);
-
-
- friend bool operator>(const Person &L, const Person &R);
- friend bool operator>=(const Person &L, const Person &R);
- friend bool operator<(const Person &L, const Person &R);
- friend bool operator<=(const Person &L, const Person &R);
- friend bool operator==(const Person &L, const Person &R);
- friend bool operator!=(const Person &L, const Person &R);
-
-
- friend Person &operator+=(Person &L,const Person &R);
- private:
- int a;
- int b;
- public:
- Person(){}
- Person(int a, int b):a(a),b(b)
- {}
-
- void show()
- {
- cout << " a = " << a << " b = " << b << endl;
- }
-
- };
-
-
-
- //全局函数实现+运算符重载
- const Person operator+(const Person &L, const Person &R)
- {
- Person temp;
- temp.a = L.a + R.a;
- temp.b = L.b + R.b;
- return temp;
- }
-
- //全局函数实现-运算符重载
- const Person operator-(const Person &L, const Person &R)
- {
- Person temp;
- temp.a = L.a - R.a;
- temp.b = L.b - R.b;
- return temp;
- }
-
- //全局函数实现*运算符重载
- const Person operator*(const Person &L, const Person &R)
- {
- Person temp;
- temp.a = L.a * R.a;
- temp.b = L.b * R.b;
- return temp;
- }
-
- //全局函数实现/运算符重载
- const Person operator/(const Person &L, const Person &R)
- {
- Person temp;
- temp.a = L.a / R.a;
- temp.b = L.b / R.b;
- return temp;
- }
-
- //全局函数实现%运算符重载
- const Person operator%(const Person &L, const Person &R)
- {
- Person temp;
- temp.a = L.a % R.a;
- temp.b = L.b % R.b;
- return temp;
- }
-
- //全局函数实现>号运算符重载
- bool operator>(const Person &L, const Person &R)
- {
- if(L.a>R.a && L.b>R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
-
- //全局函数实现>=号运算符重载
- bool operator>=(const Person &L, const Person &R)
- {
- if(L.a>=R.a && L.b>=R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
-
- //全局函数实现<号运算符重载
- bool operator<(const Person &L, const Person &R)
- {
- if(L.a
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- //全局函数实现<=号运算符重载
- bool operator<=(const Person &L, const Person &R)
- {
- if(L.a<=R.a && L.b<=R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- //全局函数实现==号运算符重载
- bool operator==(const Person &L, const Person &R)
- {
- if(L.a==R.a && L.b==R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
-
- //全局函数实现!=号运算符重载
- bool operator!=(const Person &L, const Person &R)
- {
- if(L.a!=R.a && L.b!=R.b)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- //全局函数实现+=号运算符重载
- Person &operator+=(Person &L,const Person &R)
- {
- L.a += R.a;
- L.b += R.b;
-
-
- return L;
-
-
- }
-
-
- int main()
- {
- Person p1(100,100);
- Person p2(50,50);
-
- Person p3 = p1 + p2;
- p3.show();
-
- Person p4 = p1 - p2;
- p4.show();
-
- Person p5 = p1 * p2;
- p5.show();
-
- Person p6 = p1 / p2;
- p6.show();
-
- Person p7 = p1 % p2;
- p7.show();
-
- if(p3>p2)
- {
- cout << "p3>p2" << endl;
- }
-
- if(p3>=p2)
- {
- cout << "p3>=p2" << endl;
- }
-
- if(p3
- {
- cout << "p3
<< endl; - }
-
- if(p3<=p2)
- {
- cout << "p3<=p2" << endl;
- }
-
- if(p3==p2)
- {
- cout << "p3==p2" << endl;
- }
-
- if(p3!=p2)
- {
- cout << "p3!=p2" << endl;
- }
-
- p3+=p2;
- p3.show();
-
-
- return 0;
- }
-
相关阅读:
如何发现新的潜力项目?工具推荐
JavaScript 数组(数组的增删和数组排序)
C++入门学习(4)引用 (讲解拿指针比较)
详解诊断数据库ODX-C
干涉阵相关知识
Git常用命令介绍
【前段基础入门之】=>CSS 的常用属性
自学软件测试3个月,成功入职《字节》后的面试心得总结
【前端知识】Node——使用fs模块对文件、文件夹的操作
365天深度学习训练营-第5周:运动鞋品牌识别
-
原文地址:https://blog.csdn.net/m0_72133977/article/details/133754954