运算符重载
加法运算符的重载
对于内置的数据类型 编译器知道如何进行运算 但是对于自定义的数据类型 编译器却是不知道怎么进行运算的
#include<iostream>
using namespace std;
class Person
{
public:
int m_a;
int m_b;
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;
}
};
//Person operator+ (Person& p1, Person& p2)
//{
// Person temp;
// temp.m_a = p1.m_a + p2.m_b;
//
// temp.m_b = p1.m_b + p2.m_b;
// return temp;
//}
void test()
{
Person p1;
p1.m_a = 10;
p1.m_b = 20;
Person p2;
p2.m_a = 30;
p2.m_b = 12;
Person p3 = p1 + p2;
cout << p3.m_a << endl;
}
int main()
{
test();
}