标签:p2 p1 pt operator 运算符 Person 加号 重载
加号运算符重载:
很简单,就是编辑器给起了一个通用名称,更加方便;
包括:成员函数重载、全局函数重载、运算重载的函数重载方式;
#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;
}
标签:p2,p1,pt,operator,运算符,Person,加号,重载 来源: https://blog.csdn.net/weixin_46432495/article/details/121779568
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。