作业要求:
程序代码:
#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;
}
运行结果:
课程总结: