小编在练习的过程中发现,C++《运算符重载+》有三种情况:

  1. 同一个类:对象A与对象B的加法运算,加法结果赋值给对象A,并没有C=A+B; cout<<C;而是A+B;cout<<A;  要求对象A接收运算结果。
  2. 一个对象A和一个double或者int 类型的数num,做加法运算,并没有A=A+num;cout<<A;而是A+num;cout<<A;要求对象A接收运算结果。
  3. 同一个类:对象A与对象B的加法运算,返回一个double类型。

第一种情况:

题目是实现:class Binary 中的对象b1, b2的加法运算符重载+

b1+b2;  cout<<b1<<endl;

这是在类的public区域写的,内联函数

Binary operator+(Binary& c2){//a,b,c,d就是b1的数据成员int arr[4]={a,b,c,d},brr[4]={c2.a,c2.b,c2.c,c2.d};int sum1=arr[0]*8+arr[1]*4+arr[2]*2+arr[3];int sum2=brr[0]*8+brr[1]*4+brr[2]*2+brr[3];//转换成10进制 int bqq[4],i=3,t;t=sum1+sum2;while(t){bqq[i]=t%2;t=t/2;i--;if(i<0)break;}a=bqq[0];b=bqq[1];c=bqq[2];d=bqq[3];return *this;   //注意必须用*this才能使b1接收到运算结果}//两个对象相加,返回新对象 

注意必须用*this才能使b1接收到运算结果

第二种情况:

题目是实现: class Complex中 对象c3(一个复数 a+bi) 加上一个整数n 运算符重载+

c3+3; cout<<c3;

//类的public区域函数原型申明如下:
Complex operator+(int n);//类外实现如下:
Complex Complex::operator+(int n){real=real+n;imag=imag+n;return *this;} //注意*this 的意义同情况一

第三种情况:

题目是实现: class Point 中 对象p1,p2的距离计算,返回一个double类型,运算符重载+

cout<<p1+p2<<endl;

//这是类中public区域的函数原型申明:这是非成员函数写法
friend double operator+(const Point& c1,const Point& c2);//类外实现如下:
double operator+(const Point& c1,const Point& c2){double x,y;x=c1.cx-c2.cx;y= c1.cy-c2.cy;return sqrt(x*x+y*y);}//非成员函数

以上方法仅供参考,如有其他好的方法欢迎评论~~~~~~

c++运算符重载+的三种类型相关推荐

  1. java将一个整数按字节输出_在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解。其他的三种类型如下:1、...

    在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解. 其他的三种类型如下: 1. 基本类型:short 二进制位数:16 ...

  2. Asp.net支持三种类型的cache[转]

    from:http://www.cnblogs.com/thomasnet/archive/2006/11/26/573104.html Asp.net支持三种类型的cache 想写一个技术快速概述, ...

  3. java中三种转string的方法_java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

  4. html5中标签分为,HTML标签的三种类型

    HTML标签的类型分为三种:行内元素,行内块元素,块级元素 而标签的属性是可以转换的 display:inline: 转换为行内元素 display:linline-block 转换为行内块元素 di ...

  5. java中有scoreframe类型嘛_java构造函数的三种类型总结

    我们说构造函数能处理参数的问题,但其实也要分三种情况进行讨论.目前有三种类型:无参.有参和默认.根据不同的参数情况,需要我们分别进行构造函数的讨论.这里重点是无参构造函数的初始化也要分两种方法进行分析 ...

  6. mysql varchar,bigint,char三种类型性能的比较

    mysql varchar,bigint,char三种类型性能的比较 比较数据类型的性能好坏,数据表必须有足够的数据,我用25万条数据做测试 字段是手机号,用这三个类型哪个类型好呢.首先分析手机号有1 ...

  7. mysql double 转 字符串_没想到!在MySQL数据库中的数据有这三种类型!

    MySQL数据库是一个或多个数据列构成二维表,它的每一种数据列都有特定类型,而类型决定MySQL是怎么看待该列数据,如果把整型数值存放到字符类型的列中,MySQL则会把它当成字符串来处理. MySQL ...

  8. 辨别DVI接口连接线三种类型五种规格

    DVI(Digital Visual Interface),即数字视频接口.它是1999年由Silicon Image.Intel(英特尔).Compaq(康柏).IBM.HP(惠普).NEC.Fuj ...

  9. mysql dbms是什么_DBMS体系结构的三种类型分别是什么

    DBMS体系结构的三种类型分别是什么 发布时间:2020-12-05 13:27:28 来源:亿速云 阅读:129 作者:小新 这篇文章主要介绍了 DBMS体系结构的三种类型分别是什么,具有一定借鉴价 ...

最新文章

  1. 4 年开发 43 款软件,这位乡村教师火了
  2. 【今晚七点半】:主编对话李宇翔——我所经历的“前端”开发
  3. 一文看懂 | 内存交换机制
  4. 简述计算机图形的图形应用主要有哪些,5计算机图形学考试简答题复习.doc
  5. python数据结构与算法之问题求解
  6. 吴恩达机器学习系列23:基于内容的推荐算法
  7. Atom 和 Sublime Text 相比哪个好?
  8. Zookeeper启动失败,报错 can not open chanel to 2
  9. python-excel写入代码1
  10. redis客户端工具redis-insight推荐
  11. 大疆网上测评题库_网上测评有什么技巧或者题库推荐?
  12. 阿里云服务器使用不了rz、sz命令?
  13. flink的流处理的source
  14. x265-1.7版本-common/quant.cpp注释
  15. 用计算机写欧拉恒等式,震惊!计算器里竟然藏着这样一个秘密!
  16. CSS font-family 中英文名称集合
  17. 针式个人知识管理系统帮助:实现您的PKM梦想!
  18. 手把手带你玩转需求预测-需求预测方法介绍
  19. 接口隔离原则:接口里的方法,你都用得到吗?
  20. Visual Studio 2019(VS2019) 基本操作

热门文章

  1. MySQL数据库的SQLyog如何配置
  2. jquery获取scrollHeight
  3. 技美知识学习3300:TESS and GS
  4. 机械手排列控制器程序接线图
  5. DameWare Mini远程连接报错信息处理方法。
  6. Symantec AntiVirus企业版联机客户机端卸载密码(转)
  7. 树莓派 ubuntu系统 : mysql.service: Failed with result ‘exit-code‘
  8. Lua:深拷贝与浅拷贝,强引用与弱引用
  9. java计算机毕业设计建筑劳务监管平台MyBatis+系统+LW文档+源码+调试部署
  10. 只待狂欢!青岛凤凰音乐节三大主题舞台搭建完毕