作用:实现两个自定义数据类型相加的运算
#include<iostream>
using namespace std;
#include<string>
/*
加号运算符重载:实现两个自定义的数据类型相加的运算
*/
//创建一个类
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;
}
public:
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_B + p2.m_B;
return temp;
}
*/
int main()
{
//实例化两个person对象
Person p1;
p1.m_A = 10;
p1.m_B = 10;
Person p2;
p2.m_A = 20;
p2.m_B = 20;
//Person p3 = p1 + p2;
//调用成员函数实现重载
Person p3 = p1 + p2;
cout << "p3.m_A=" << p3.m_A << "\tp3.m_B=" << p3.m_B << endl;
return 0;
}