1.4C++运算符重载作函数

news2024/11/28 9:43:25

C++运算符重载函数作为类成员函数

作为类成员函数时,运算符重载函数使用类的成员变量作为操作数。

写个 demo:
在这里插入图片描述
运算符重载函数作为类成员函数时,需要注意:运算符重载函数必须是类的成员函数,不能是普通函数或者全局函数。
C++运算符重载函数作为友元函数

作为友元函数时,运算符重载函数不使用类的成员变量作为操作数,但可以访问类的私有成员变量。

写个 demo:
在这里插入图片描述
在将运算符重载函数作为友元函数时,需要注意:运算符重载函数必须是全局函数或者类的友元函数,不能是成员函数。

在 C++ 中,像赋值运算符、下标运算符、函数调用运算符,必须定义为类的成员函数。

而有的运算符则不能定义为类的成员函数,如流插入<<、流提取>>、类型转换运算符。

由于友元的使用会破坏类的封装,因此尽量将运算符函数作为成员函数。

但考虑到综合因素,一般将单目运算符重载为成员函数,将双目运算符重载为友元函数。

下一篇小林计划写:单目运算符重载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626747.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MIT6.024学习笔记(二)——图论(1)

学习不是为了竞争和战胜他人&#xff0c;而是为了更好地了解自己和世界。 - 达赖喇嘛 文章目录 图的相关概念涂色问题基础涂色方法&#xff08;贪婪算法&#xff09;证明 二分图匹配问题应用&#xff1a;稳定婚烟问题算法性质及其证明 图的相关概念 图的定义&#xff1a;一组&…

We need you | 隐语开源共建计划第一期任务等你认领

作为隐私计算开源界的一颗新星&#xff0c;隐语一直致力于推动隐私计算行业的发展&#xff0c;同时也在不断发展和完善中。通过开放、透明和共享的方式&#xff0c;协同行业优秀人才协同合作&#xff0c;推动隐私计算领域蓬勃发展&#xff0c;这是隐语开源的意义。因此&#xf…

FPGA多路视频叠加融合 HLS算法实现 提供2套工程源码和技术支持

目录 1、前言2、视频叠加模块的功能和性能3、HLS视频叠加融合设计4、vivado工程1--单路同源视频的缩放叠加详细设计方案vivado工程详解SDK工程详解 5、vivado工程2--两路非同源视频的缩放叠加详细设计方案vivado工程详解SDK工程详解 6、上板调试验证7、福利&#xff1a;工程代码…

MySQL底层数据结构

1、引入 一个sql语句在mysql中究竟是如何运行的&#xff1f;又应该通过怎样的方式去查找我们要找的数据&#xff1f;这里就涉及到几种存储数据的算法&#xff1b; 可以做索引的数据结构有数组、链表、二叉搜索树和B树&#xff08;B-树、B树&#xff09;。 2、各种数据结构 …

flutter多版本切换

方式一&#xff1a;符号连接(软链接) 注&#xff1a;无需修改环境变量&#xff0c;也不用重启AndroidStudio mac具体flutter版本切换操作步骤&#xff1a; 1、项目clean然后切换自己需要的分支 2、删除文件夹flutter目录文件&#xff08;这里的flutter是原来的符号连接&…

若依集成分库分表(一)

1.本次需求为同库分表 1.1 引入pom依赖 <!-- sharding-jdbc分库分表 --> <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-core</artifactId><version>4.1.1</version> </dependenc…

Linux内核中内存管理相关配置项的详细解析2

接前一篇文章&#xff1a;Linux内核中内存管理相关配置项的详细解析1 3. Default compressor&#xff08;默认压缩器&#xff09; 此项展开后如下图所示&#xff1a; 此项的内核源码详细解释为&#xff1a; Selects the default compression algorithm for the compressed cac…

谷歌发布一个免费的生成式人工智能课程

在过去几周&#xff0c;我们看到的都是AI将如何改变生活&#xff0c;无论是ChatGPT的文本生成&#xff0c;还是SD&#xff0c;Midjourney 的图像生成&#xff0c;这些AI的特点就是都是生成式的AI。而几天前&#xff0c;谷歌推出了一个生成式人工智能学习课程&#xff0c;课程涵…

美团太细了:Springcloud 微服务优雅停机,如何实现?

说在前面 关于Spring Boot、Spring Cloud应用的优雅停机&#xff0c;平时经常会被问到&#xff0c;这也是实际应用过程中&#xff0c;必须要掌握的点。 在40岁老架构师 尼恩的读者社区(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如美团、拼多多、极兔、有赞、希音的…

深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等

【深度学习入门到进阶】必看系列&#xff0c;含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍&#xff1a;【深度学习入门到进阶】必看系列&#xff0c;含激活函数、优化策略、损失函数、模型调优、归一化…

【新版】系统架构设计师 - 软件可靠性分析与设计

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 软件可靠性分析与设计考点摘要可靠性相关基本概念软件可靠性分析可靠性指标串联系统&#xff08;可靠性&#xff09;并联系统&#xff08;可靠性&#xff09;混合系统&#xff08;可靠性&#xff…

(转载)从0开始学matlab—总结

1.编程实例 下面的例子将向大家介绍如何用 MATLAB 解决问题。 例1 温度转换程序 问题&#xff1a; 设计一个 MATLAB 程序&#xff0c;读取一个华氏温度的输入&#xff0c;输出开尔文温度。 答案&#xff1a; 华氏温度和开尔文温度的转换关系式可在物理学课本中找到。其关系式…

压力测试分为稳定性测试和破坏性测试

压力测试分为稳定性测试和破坏性测试 压力测试是一种对软件系统进行负载测试的常见手段&#xff0c;可以评估其在不同负载条件下的稳定性、性能和可靠性等指标。常见的压力测试分为两种类型&#xff1a;稳定性测试和破坏性测试。 1. 稳定性测试 稳定性测试也称为基准测试&#…

shell脚本基础3——正则表达式

文章目录 一、基本了解二、基本正则表达式2.1 字符匹配2.2 位置锚定2.3 匹配次数2.4 分组 三、扩展正则表达式3.1 字符匹配3.2 位置锚定3.3 匹配次数3.4 分组3.5 或者 一、基本了解 正则表达式分2种&#xff1a;基本正则表达式和扩展正则表达式。grep 、sed命令使用正则较多&am…

软考A计划-系统架构师-官方考试指定教程-(9/15)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

spiderflow的初步使用

1、简介 spider-flow 是一个爬虫平台&#xff0c;以图形化方式定义爬虫流程&#xff0c;无需代码即可实现一个爬虫 官网地址&#xff1a;https://www.spiderflow.org/ 2、spiderflow的初步使用 2.1拉取&#xff0c;配置和启动 从gitee上拉取 执行db里面的sql 里面会有6张表 …

为什么说高性能计算工程师越老越吃香?还难以被AI替代?

一般越老越吃香的岗位或者行业&#xff0c;一定是拥有无法或者难以轻易被替代的经验。 这些经验一般是靠时间、靠思维、靠试错不断积累起来的。然而AIGC来了&#xff0c;好像宣布AI会取代所有人一样&#xff0c;如经验丰富的律师、医生、教师等等&#xff0c;尤其是贡献了AIGC…

java ssm贸易平台-物流管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm贸易平台-物流管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主…

【运维知识进阶篇】用阿里云部署kod可道云网盘(DNS解析+CDN缓存+Web应用防火墙+弹性伸缩)

本篇文章依托kod可道云项目继续介绍阿里云产品&#xff0c;介绍DNS解析&#xff0c;CDN缓存&#xff0c;Web应用防火墙&#xff0c;弹性伸缩。 DNS解析 这里我将二级域名设为kod&#xff0c;一般都是设为www和&#xff0c;带表示可以不加二级域名&#xff0c;直接访问。也可以…

基于html+css的图展示117

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…