C++ 加号运算符重载

作用:实现两个自定义数据类型相加的运算

class Person {public:Person() {};Person(int a, int b){this->m_A = a;this->m_B = b;}//成员函数实现 + 号运算符重载Person operator+(const 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+(const Person& p1, const Person& p2) {//  Person temp(0, 0);
//  temp.m_A = p1.m_A + p2.m_A;
//  temp.m_B = p1.m_B + p2.m_B;
//  return temp;
//}//运算符重载 可以发生函数重载
Person operator+(const Person& p2, int val)
{Person temp;temp.m_A = p2.m_A + val;temp.m_B = p2.m_B + val;return temp;
}void test() {Person p1(10, 10);Person p2(20, 20);//成员函数方式Person p3 = p2 + p1;  //相当于 p2.operaor+(p1)cout << "mA:" << p3.m_A << " mB:" << p3.m_B << endl;Person p4 = p3 + 10; //相当于 operator+(p3,10)cout << "mA:" << p4.m_A << " mB:" << p4.m_B << endl;}int main() {test();system("pause");return 0;
}

C++ 加号运算符重载相关推荐

  1. C++加号运算符重载

    C++加号运算符重载 运算符重载 加号运算符重载 作用 总结 运算符重载 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 加号运算符重载 作用 实现两个自定义数据类 ...

  2. C++运算符重载之加号运算符重载

    加号运算符重载 作用:实现两个自定义数据类型相加的运算 1.成员函数实现 + 号运算符重载 class Person { public:Person() {};Person(int a, int b) ...

  3. C++:加号运算符重载

    运算符重载:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型. 加号运算符重载:实现两个自定义数据类型相加的运算 对于内置的数据类型,编译器知道如何运算: int a = 10; i ...

  4. C++_类和对象_C++运算符重载_加号运算符重载_实现两个对象相加_对象和int类型相加_通过成员函数重载+号_全局函数重载+号_以及重载_运算符重载函数实现---C++语言工作笔记055

    然后我们再来看,运算符的重载,首先我们来看加号的运算符的重载. 这个的作用是很明显的,比如我们有两个Person对象,p1,p2,如果我们想 p3 = p1+p2能可以嘛,不可以对吧,因为系统给我们提 ...

  5. c++中运算符重载(加号运算,左移运算,前置后置++运算符,赋值运算,关系运算,函数运算)

    运算符重载注意 重载的运算符要易读 内置的数据类型的表达式的运算符是不可以改变的 不要重载&& 和 | | 运算符 =,[]和->运算符只能通过成员函数进行重载 << ...

  6. c/c++入门教程 - 2.4.5 c++运算符重载(加号、左移、递增、赋值、关系、函数调用)

    目录 4.5 运算符重载 4.5.1 加号运算符重载 4.5.2 左移运算符重载 4.5.3 递增运算符重载 4.5.4 赋值运算符重载 4.5.5 关系运算符重载 4.5.6 函数调用运算符重载 相 ...

  7. 4.1重载加号运算符

    加号运算符重载:自定义数据类型的加法 第一种方法:通过写成员函数实现两个对象相加然后返回新的对象 #include <iostream> using namespace std; clas ...

  8. C++(五)——运算符重载

    加号运算符重载 #include<iostream> using namespace std;//对于内置数据类型,编译器知道如何运算 //加号运算符重载 class Person { p ...

  9. 【黑马程序员 C++教程从0到1入门编程】【笔记4】C++核心编程(类和对象——封装、权限、对象的初始化和清理、构造函数、析构函数、深拷贝、浅拷贝、初始化列表、友元friend、运算符重载)

    黑马程序员C++教程 文章目录 4 类和对象(类属性[成员属性],类函数[成员函数]) 4.1 封装 4.1.1 封装的意义(三种权限:public公共.protected保护.private私有)( ...

最新文章

  1. CUDA编程快速入门教程
  2. 对RESTful Web API的理解与设计思路
  3. java的编译和连接方法_Java:编译时解析和“最具体的方法”
  4. r语言 面板数据回归_R语言——伍德里奇计量经济导论案例实践 第十三章 横截面与面板数据(一)...
  5. 记录ionic 最小化应用时所遇的问题
  6. 浙大慕课c语言答案,程序设计入门——C语言
  7. 苹果面临5G困境!向三星采购碰壁 高通表态:苹果有我们电话
  8. oracle 08177,Java OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题解决
  9. .NET Core Web API:您需要了解的最少知识(第2部分,共2部分)
  10. Delphi 中的 XMLDocument 类详解(13) - 关于 XML 属性
  11. OpenCV-Python实战(番外篇)——OpenCV、NumPy和Matplotlib直方图比较
  12. 《深入剖析Tomcat》源码
  13. Mybatis教程-实战
  14. python根据经纬度计算两点之间距离
  15. java float 大小比较_java浮点型比较大小
  16. 域名申请攻略(以godaddy+支付宝为例)
  17. unexpected character `w‘ in type specifier 解决方案
  18. handwrite-1
  19. Mysql常见面试问题整理(二):索引
  20. cypress代理商与ic芯片有哪些品牌

热门文章

  1. 天津专升本应届生学信网学籍在线验证报告查询下载操作步骤
  2. 网页链接跳转qq聊天界面以及QQ群是什么实现的
  3. 从首个IMO季军谈起 作者 : 付云皓
  4. Base64方式上传文件
  5. 游戏多开计算机内存不足,技术宅 解决天刀多开单开内存不足问题
  6. stata怎么画分类图_stata如何画分布图
  7. ArcBlock 分享 | 冒志鸿:我为区块链技术落地“狂”!
  8. 极路由php插件,极路由SDK
  9. 玩转华为数据中心交换机系列 | 汇总
  10. 2010年Web网页设计趋势