#include<iostream>
using namespace std;
class Person
{
public:
//成员函数实现重载+号
/*Person operator+(Person &p)
{
Person temp;
temp.m_A=this->m_A+p.m_A;
temp.m_B=this->m_B+p.m_B;
return temp;
}*/
int m_A;
int m_B;
};
//全局函数重载+号
Person operator+(Person &p1,Person &p2)
{
Person temp;
temp.m_A=p1.m_A+p2.m_A;
temp.m_B=p1.m_A+p2.m_B;
return temp;
}
Person operator+(Person &p,int num)
{
Person temp;
temp.m_A=p.m_A+num;
temp.m_B=p.m_B+num;
return temp;
}
void Test01()
{
Person p1;
p1.m_A=10;
p1.m_B=10;
Person p2;
p2.m_A=20;
p2.m_B=100;
Person p3=p1+p2;
Person p4=p1+500;
//成员函数调用相当于Person p3=p1.operator+(p2)
//全局函数调用相当于Person p3=operator(p1,p2)
cout<<"p3:m_A="<<p3.m_A<<" "<<"p3:m_B="<<p3.m_B<<endl;
cout<<"p4:m_A="<<p4.m_A<<" "<<"p4:m_B="<<p4.m_B<<endl;
}
int main()
{
Test01();
system("pause");
return 0;
}
C++加号运算符重载
最新推荐文章于 2024-08-04 22:43:03 发布