作业要求:

程序代码:
#include <iostream>
using namespace std;
//封装 人 类
class Person
{
//声明使得全局函数使用私有属性
friend const Person operator-(const Person &L, const Person &R);
private:
int a;
int b;
public:
Person(){}
Person(int a, int b):a(a),b(b)
{}
// 成员函数实现 "+" 号运算符重载
const Person operator+(const Person &R) const
{
Person temp;
temp.a = a + R.a;
temp.b = b + R.b;
return temp;
}
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;
}
int main()
{
Person p1(12,34);
Person p2(56,78);
Person p3 = p1 + p2;
p3.show();
Person p4 = p1 - p2;
p4.show();
return 0;
}
运行结果:
![]()
课程总结:

本文详细介绍了如何在C++中定义和实现类`Person`的加法和减法运算符重载,包括`+`和`-`操作,以及在`main`函数中的应用实例。

被折叠的 条评论
为什么被折叠?



