C++ 加号运算符重载
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++ 加号运算符重载相关推荐
- C++加号运算符重载
C++加号运算符重载 运算符重载 加号运算符重载 作用 总结 运算符重载 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 加号运算符重载 作用 实现两个自定义数据类 ...
- C++运算符重载之加号运算符重载
加号运算符重载 作用:实现两个自定义数据类型相加的运算 1.成员函数实现 + 号运算符重载 class Person { public:Person() {};Person(int a, int b) ...
- C++:加号运算符重载
运算符重载:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型. 加号运算符重载:实现两个自定义数据类型相加的运算 对于内置的数据类型,编译器知道如何运算: int a = 10; i ...
- C++_类和对象_C++运算符重载_加号运算符重载_实现两个对象相加_对象和int类型相加_通过成员函数重载+号_全局函数重载+号_以及重载_运算符重载函数实现---C++语言工作笔记055
然后我们再来看,运算符的重载,首先我们来看加号的运算符的重载. 这个的作用是很明显的,比如我们有两个Person对象,p1,p2,如果我们想 p3 = p1+p2能可以嘛,不可以对吧,因为系统给我们提 ...
- c++中运算符重载(加号运算,左移运算,前置后置++运算符,赋值运算,关系运算,函数运算)
运算符重载注意 重载的运算符要易读 内置的数据类型的表达式的运算符是不可以改变的 不要重载&& 和 | | 运算符 =,[]和->运算符只能通过成员函数进行重载 << ...
- 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 函数调用运算符重载 相 ...
- 4.1重载加号运算符
加号运算符重载:自定义数据类型的加法 第一种方法:通过写成员函数实现两个对象相加然后返回新的对象 #include <iostream> using namespace std; clas ...
- C++(五)——运算符重载
加号运算符重载 #include<iostream> using namespace std;//对于内置数据类型,编译器知道如何运算 //加号运算符重载 class Person { p ...
- 【黑马程序员 C++教程从0到1入门编程】【笔记4】C++核心编程(类和对象——封装、权限、对象的初始化和清理、构造函数、析构函数、深拷贝、浅拷贝、初始化列表、友元friend、运算符重载)
黑马程序员C++教程 文章目录 4 类和对象(类属性[成员属性],类函数[成员函数]) 4.1 封装 4.1.1 封装的意义(三种权限:public公共.protected保护.private私有)( ...
最新文章
- CUDA编程快速入门教程
- 对RESTful Web API的理解与设计思路
- java的编译和连接方法_Java:编译时解析和“最具体的方法”
- r语言 面板数据回归_R语言——伍德里奇计量经济导论案例实践 第十三章 横截面与面板数据(一)...
- 记录ionic 最小化应用时所遇的问题
- 浙大慕课c语言答案,程序设计入门——C语言
- 苹果面临5G困境!向三星采购碰壁 高通表态:苹果有我们电话
- oracle 08177,Java OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题解决
- .NET Core Web API:您需要了解的最少知识(第2部分,共2部分)
- Delphi 中的 XMLDocument 类详解(13) - 关于 XML 属性
- OpenCV-Python实战(番外篇)——OpenCV、NumPy和Matplotlib直方图比较
- 《深入剖析Tomcat》源码
- Mybatis教程-实战
- python根据经纬度计算两点之间距离
- java float 大小比较_java浮点型比较大小
- 域名申请攻略(以godaddy+支付宝为例)
- unexpected character `w‘ in type specifier 解决方案
- handwrite-1
- Mysql常见面试问题整理(二):索引
- cypress代理商与ic芯片有哪些品牌