c++运算符重载+的三种类型
小编在练习的过程中发现,C++《运算符重载+》有三种情况:
- 同一个类:对象A与对象B的加法运算,加法结果赋值给对象A,并没有C=A+B; cout<<C;而是A+B;cout<<A; 要求对象A接收运算结果。
- 一个对象A和一个double或者int 类型的数num,做加法运算,并没有A=A+num;cout<<A;而是A+num;cout<<A;要求对象A接收运算结果。
- 同一个类:对象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++运算符重载+的三种类型相关推荐
- java将一个整数按字节输出_在java中的整数类型有四种,分别是 byte short int long 其中byte只有一个字节 0或1,在此不详细讲解。其他的三种类型如下:1、...
在java中的整数类型有四种,分别是 byte short int long 其中byte只有一个字节 0或1,在此不详细讲解. 其他的三种类型如下: 1. 基本类型:short 二进制位数:16 ...
- Asp.net支持三种类型的cache[转]
from:http://www.cnblogs.com/thomasnet/archive/2006/11/26/573104.html Asp.net支持三种类型的cache 想写一个技术快速概述, ...
- java中三种转string的方法_java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
- html5中标签分为,HTML标签的三种类型
HTML标签的类型分为三种:行内元素,行内块元素,块级元素 而标签的属性是可以转换的 display:inline: 转换为行内元素 display:linline-block 转换为行内块元素 di ...
- java中有scoreframe类型嘛_java构造函数的三种类型总结
我们说构造函数能处理参数的问题,但其实也要分三种情况进行讨论.目前有三种类型:无参.有参和默认.根据不同的参数情况,需要我们分别进行构造函数的讨论.这里重点是无参构造函数的初始化也要分两种方法进行分析 ...
- mysql varchar,bigint,char三种类型性能的比较
mysql varchar,bigint,char三种类型性能的比较 比较数据类型的性能好坏,数据表必须有足够的数据,我用25万条数据做测试 字段是手机号,用这三个类型哪个类型好呢.首先分析手机号有1 ...
- mysql double 转 字符串_没想到!在MySQL数据库中的数据有这三种类型!
MySQL数据库是一个或多个数据列构成二维表,它的每一种数据列都有特定类型,而类型决定MySQL是怎么看待该列数据,如果把整型数值存放到字符类型的列中,MySQL则会把它当成字符串来处理. MySQL ...
- 辨别DVI接口连接线三种类型五种规格
DVI(Digital Visual Interface),即数字视频接口.它是1999年由Silicon Image.Intel(英特尔).Compaq(康柏).IBM.HP(惠普).NEC.Fuj ...
- mysql dbms是什么_DBMS体系结构的三种类型分别是什么
DBMS体系结构的三种类型分别是什么 发布时间:2020-12-05 13:27:28 来源:亿速云 阅读:129 作者:小新 这篇文章主要介绍了 DBMS体系结构的三种类型分别是什么,具有一定借鉴价 ...
最新文章
- 4 年开发 43 款软件,这位乡村教师火了
- 【今晚七点半】:主编对话李宇翔——我所经历的“前端”开发
- 一文看懂 | 内存交换机制
- 简述计算机图形的图形应用主要有哪些,5计算机图形学考试简答题复习.doc
- python数据结构与算法之问题求解
- 吴恩达机器学习系列23:基于内容的推荐算法
- Atom 和 Sublime Text 相比哪个好?
- Zookeeper启动失败,报错 can not open chanel to 2
- python-excel写入代码1
- redis客户端工具redis-insight推荐
- 大疆网上测评题库_网上测评有什么技巧或者题库推荐?
- 阿里云服务器使用不了rz、sz命令?
- flink的流处理的source
- x265-1.7版本-common/quant.cpp注释
- 用计算机写欧拉恒等式,震惊!计算器里竟然藏着这样一个秘密!
- CSS font-family 中英文名称集合
- 针式个人知识管理系统帮助:实现您的PKM梦想!
- 手把手带你玩转需求预测-需求预测方法介绍
- 接口隔离原则:接口里的方法,你都用得到吗?
- Visual Studio 2019(VS2019) 基本操作
热门文章
- MySQL数据库的SQLyog如何配置
- jquery获取scrollHeight
- 技美知识学习3300:TESS and GS
- 机械手排列控制器程序接线图
- DameWare Mini远程连接报错信息处理方法。
- Symantec AntiVirus企业版联机客户机端卸载密码(转)
- 树莓派 ubuntu系统 : mysql.service: Failed with result ‘exit-code‘
- Lua:深拷贝与浅拷贝,强引用与弱引用
- java计算机毕业设计建筑劳务监管平台MyBatis+系统+LW文档+源码+调试部署
- 只待狂欢!青岛凤凰音乐节三大主题舞台搭建完毕