#include <iostream>
using namespace std;
class Per
{
private:
int a; // 定义私有变量a
int b; // 定义私有变量b
public:
Per(); // 默认构造函数声明
Per(int a,int b); // 带参数构造函数声明
const Per operator+(const Per &p1) const; // 重载+运算符声明
void show(); // 显示函数声明
friend const Per operator-(const Per p1,const Per p2); // 友元函数声明
~Per(); // 析构函数声明
};
Per::Per(){} // 默认构造函数定义
Per::Per(int a,int b):a(a),b(b){} // 带参数构造函数定义
const Per Per::operator+(const Per &p1) const // 重载+运算符定义
{
Per temp;
temp.a = this->a + p1.a;
temp.b = this->b + p1.b;
return temp;
}
void Per::show() // 显示函数定义
{
cout << this->a << "\t" << this->b << endl;
}
const Per operator-(const Per p1,const Per p2) // 友元函数定义
{
Per temp;
temp.a = p1.a - p2.a;
temp.b = p1.b - p2.b;
return temp;
}
Per::~Per(){} // 析构函数定义
int main()
{
Per p1(5,5); // 创建对象p1
Per p2(9,10); // 创建对象p2
p1 = p1 + p2; // 重载+运算符运算
p1.show(); // 显示p1
p1 = p1 - p2; // 友元函数运算
p1.show(); // 显示p1
return 0;
}