C++ 运算符重载一(二元运算符重载)

//二元运算符重载
#include<iostream>
using namespace std; class Point
{
public:

Point(int x,int y){<br/>
    this-&gt;x = x;<br/>
    this-&gt;y = y;<br/>
}<br/>
//为什么要使用友元函数呢<br/>
friend Point operator+(Point &amp;p1, Point &amp;p2);

//类成员函数实现二元运算符-

Point operator-(Point &amp;pin){<br/>
    //二元运算符最好不要改变原来的变量<br/>
    Point temp = *this;<br/>
    temp.x = this-&gt;x - pin.x;<br/>
    temp.y = this-&gt;y - pin.y;<br/>
    return temp;<br/>
}<br/>
void PrintfA(){<br/>
    cout &lt;&lt; &#34;x=&#34; &lt;&lt; this-&gt;x &lt;&lt; endl;<br/>
    cout &lt;&lt; &#34;y=&#34; &lt;&lt; this-&gt;y &lt;&lt; endl;

}
private:

int x;<br/>
int y;<br/>

}; //友元函数
//因为函数中使用类的私有成员属性
Point operator+(Point &p1, Point &p2){

Point pres(p1.x+p2.x,p1.y+p2.y);<br/>
return pres;<br/>

} void ProtectA(){

//重载二元运算符 +<br/>
Point p1(, ), p2(, );<br/>
Point p3 = p1 + p2;<br/>
//全局函数(一般是友元函数),类成员函数实现运算符重载步骤<br/>
//步骤1:要承认操作符重载是一个函数,写出函数名称<br/>
//operator+<br/>
//步骤2:根据操作数,写出函数参数列表<br/>
//operator+(p1, p2);<br/>
//步骤3:根据业务,完成函数返回值,及实现函数<br/>
//p3=operator + (p1, p2);<br/>
p3.PrintfA();

//用类成员们函数实现

//由全局函数变成类成员函数<br/>
Point p4 = p1 - p2;<br/>
//步骤1:要承认操作符重载是一个函数,写出函数名称<br/>
//operator-()<br/>
//步骤2:根据操作数,写出函数参数列表,<br/>
///在类中,对象本身是this,所有可以少传递一个变量<br/>
//p1.operator-(p2);<br/>
//步骤3:根据业务,完成函数返回值,及实现函数<br/>
p4.PrintfA();

} void main(){

ProtectA();<br/>
system(&#34;pause&#34;);<br/>

}