C++ //运算符重载 +号
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 //1.成员函数重载 +号 6 class Person 7 { 8 public: 9 10 //Person operator+(Person& p) 11 //{ 12 // Person temp; 13 // temp.m_A = this->m_A + p.m_A; 14 // temp.m_B = this->m_B + p.m_B; 15 // return temp; 16 //} 17 int m_A; 18 int m_B; 19 }; 20 21 //2.全局函数重载 +号 22 Person operator+(Person& p1, Person& p2) 23 { 24 Person temp; 25 temp.m_A = p1.m_A + p2.m_A; 26 temp.m_B = p1.m_B + p2.m_B; 27 28 return temp; 29 } 30 //函数重载 31 Person operator+(Person& p1, int num) 32 { 33 Person temp; 34 temp.m_A = p1.m_A + num; 35 temp.m_B = p1.m_B + num; 36 37 return temp; 38 39 } 40 41 void test01() 42 { 43 Person p1; 44 45 p1.m_A = 10; 46 p1.m_B = 20; 47 48 Person p2; 49 50 p2.m_A = 10; 51 p2.m_B = 20; 52 //成员函数重载本质调用 53 //Person p3 = p1.operator+(p2); 54 //成员简化 55 //Person p3 = p1 + p2; 56 57 //全局函数. 58 59 Person p3 = operator+(p1, p2); 60 //全局函数简化 61 //Person p3 = p1 + p2; 62 63 //运算符重载也可以发生函数重载 64 Person p4 = p1 + 100; //Person +int 65 66 cout << "p3 .m_A = " << p3.m_A << endl; 67 68 cout << "p3 .m_B = " << p3.m_B << endl; 69 70 71 cout << "p4 .m_A = " << p4.m_A << endl; 72 cout << "p4 .m_B = " << p4.m_B << endl; 73 74 } 75 76 77 int main() 78 { 79 test01(); 80 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15111859.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)