中双目运算符_C++日志(四十)教你如何以非成员函数的形式重载运算符
上一篇日志中讲述了如何通过类的非静态函数成员,进行运算符重载:
机器学习入坑者:C++日志(三十九)教你如何以类的非静态成员函数形式重载运算符zhuanlan.zhihu.com
在C++中,同样可以通过非成员函数方式进行运算符的重载,此时重载函数需要所有操作对象的作为其参数。语法如下:
返回类型 operator运算符(形参表)
(1)双目运算符
对于下述由双目运算符构成的表达式:
ob1 双目运算符 ob2
重载函数的形参由ob1和ob类型组成,此表达式等价于“重载函数名(ob1, ob2)”。例子如下:
Duck operator-(Duck duck1, Duck duck2) {// 以非成员函数形式,重载双目运算符printf("Duck fighting! n");// 返回为Duck类型return Duck();
}
(2)单目前置运算符
对于下述由单目前置运算符组成的表达式:
单目运算符 ob;
重载函数的形参为ob,此表达式等于“重载函数名(ob)”。例子如下:
Duck operator++(Duck duck1) {// 以非成员函数形式,重载前置单目运算符printf("Duck fighting! n");return Duck();
}
(3)后置单目运算符
对于后置的自加和自减运算符,需要和前置的自加和自减分开。以非成员函数的形式重载后置单目运算符时,表达式如下:
ob 单目运算符;
此时,重载函数需有两个参数,一个是ob类型,另一个是int类型。其中int类型仅仅用于区分,并不需要使用。例子如下:
Duck operator++(Duck duck1, int) {printf("Duck fighting! n");return Duck();
}
中双目运算符_C++日志(四十)教你如何以非成员函数的形式重载运算符相关推荐
- 区块链中的数学(四十二)---基于RSA的VRF(随机可验证函数)
文章来源区块链技术公众号"blocksight",原文欢迎关注! 写在前面 上一节说了VRF(随机可验证函数)概述,由于VRF是与公钥密码学相结合的,自然少不了最常见的公钥密码学体 ...
- 四十六、Fluent壁面函数的选取依据
1. Fluent壁面函数 前面介绍了壁面函数的由来及相关的理论,这里我们介绍Fluent中壁面函数的选取依据.牢记:使用壁面函数的前提是y+>15 Fluent在两种湍流模型中需要选择壁面函数 ...
- 【Scikit-Learn 中文文档】四十:数据集加载工具 - 用户指南 | ApacheCN
中文文档: http://sklearn.apachecn.org/cn/stable/datasets/index.html 英文文档: http://sklearn.apachecn.org/en ...
- 【叶子函数分享四十二】得到汉字笔画函数
--=============================================== --功能:汉字笔画函数 --说明:以单个汉字汉字为参数返回每一个汉字的笔画数 --作者: J9988 ...
- 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...
本篇文章是系列文章中的第五篇,是对前一个日志系列的补充篇.如果您对日志的基本概念还没有一个比较系统的了解,可以参看本系列之前的文章: 浅谈SQL Server中的事务日志(一)----事务日志的物理和 ...
- vs2003 局部友元访问私有不可访问_C++ 类:重载运算符与友元
18.类中重载运算符与友元 上次节中学习了如何在类中重新定义赋值(=)运算符,实际上在一个自定义类中除了赋值(=)运算符外,类的对象是不可以直接使用运算符的,比如你在main函数中写这样的代码会报错: ...
- maya批量命名插件_教你玩转MAYA的四十二精华造诣(第一期)
最近在整理文档时发现我收藏了一篇关于MAYA应用技巧的文章,突然有兴趣看了看,结果发现老版本MAYA中的某些内容很多已经无法应用于新版本.我又上网查了一下,结果发现网上好多帖子和我收藏的这篇内容基本一 ...
- 四十二、深入Java中的文件读取操作
@Author:Runsen @Date:2020/6/8 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
- 四十、Java中字节流和字符流介绍和区别
@Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
最新文章
- 《社交网站界面设计(原书第2版)》——1.17 模式还是套话
- SAP QM初阶之明明存在检验计划但是生成的检验批取不到?
- 戴尔官网全网抄底价! 企业级高性能机Vostro仅¥1,999!更有额外福利等你来领!...
- [深入浅出Cocoa]之消息(二)-详解动态方法决议(Dynamic Method Resolution)
- python变量和常量_5、python的变量和常量
- python重新启动整个脚本_每次对脚本进行更改时,都需要在终端中重新启动python...
- 如何在Java中将毫秒转换为“ X分钟,x秒”?
- tomcat部署安全证书文件(阿里云SSL证书)
- JavaScript:剖析ES6(1)--let和const
- DNN与微软同声传译系统背后的故事
- 付费版百度指数 就是这么坑爹
- Kafka SASL配置 Demo测试
- [电脑桌面右击新建没有excel、ppt、word]
- 单片机控制步进电机-VB上位机生成S曲线
- 【每日一练】小米搜索框
- slmgr.vbs -dlv 和slmgr.vbs -xpr查询win10激活的错误问题
- 消防工程师与消防员有什么区别?
- docker实现MySQL主主互备(主主双机热备)
- Codevs 打鼹鼠
- 【新】华为OD机试 - 水仙花数 2(Python)| 刷完获取OD招聘渠道
热门文章
- 黄聪:原生js的音频播放器,兼容pc端和移动端(原创)
- 路由网关--spring cloud zuul
- 练习 MongoDB 操作 —— 分片篇(五)
- 【微信公众号开发】获取并保存access_token、jsapi_ticket票据(可用于微信分享、语音识别等等)...
- 理解 angular2 基础概念和结构 ----angular2系列(二)
- GA(遗传算法)的Matlab程序原理(from:六分之一工作室)
- SQL text字段的替换处理(无法批量更新,写法记录)
- 【心情】期待 Mr. Jack In New York!
- 代码段、数据段、bss段
- sftp连不上服务器 vscode_VSCODE 【SFTP】 Code:3221225477 / 扩展宿主意外终止 解决方法...