运算符重载——加号

 加号运算符重载:

很简单,就是编辑器给起了一个通用名称,更加方便;

包括:成员函数重载、全局函数重载、运算重载的函数重载方式;

#include<iostream>
#include<string>
using namespace std;
class Person
{
public:
	int m_a;
	int m_b;

	//成员函数的加号重载;
	Person operator+(Person& p)
	{
		Person pt;
		pt.m_a = m_a + p.m_a;
		pt.m_b = m_b + p.m_b;
		return pt;
	}
	
};

//全局函数的加号重载
Person operator+(Person& p1,Person& p2)
{
	Person pt;
	pt.m_a = p2.m_a + p1.m_a;
	pt.m_b = p2.m_b + p1.m_b;
	return pt;
}

//运算符重载的函数重载;
Person operator+(Person& p1, int num)
{
	Person pt;
	pt.m_a = num + p1.m_a;
	pt.m_b = num + p1.m_b;
	return pt;
}


int main() 
{
	Person p1, p2,p3;
	p1.m_a = 10;
	p1.m_b = 10;

	p2.m_a = 10;
	p2.m_b = 10;

	//p3 = p1.operator+(p2);  这是重载运算符+的本质;

	//p3=operator+(p1, 100)
	p3 = p1 + 100;

	cout << "p3.m_a=" << p3.m_a << endl;
	cout << "p3.m_b=" << p3.m_b << endl;
	system("pause"); 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_46432495/article/details/121779568