1 / 26
文档名称:

运算符重载解读.ppt

格式:ppt   大小:3,637KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

运算符重载解读.ppt

上传人:tanfengdao 2025/5/9 文件大小:3.55 MB

下载得到文件列表

运算符重载解读.ppt

相关文档

文档介绍

文档介绍:该【运算符重载解读 】是由【tanfengdao】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【运算符重载解读 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。C++程序设计
单击此处添加副标题
西南林业大学计科系
邢丽伟
CONTENTS

01
什么是运算符重载
04
运算符重载函数作为类成员函数和友元函数
02
运算符重载的方法
05
重载双目运算符
03
重载运算符的规则
06
重载单目运算符
所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能。同样,运算符也可以重载。
譬如,能否用“+”号进行两个复数的相加。在C++中不能在程序中直接用运算符“+”对复数进行相加运算。用户必须自己设法实现复数相加。例如用户可以通过定义一个专门的函数来实现复数相加。。
什么是运算符重载
现在要讨论的问题是: 用户能否根据自己的需要对C++已提供的运算符进行重载,赋予它们新的含义,使之一名多用。
结果是正确的,但调用方式不直观、不方便。能否也和整数的加法运算一样,直接用加号“+”来实现复数运算呢?如c3=c1+c2; 这就需要对运算符“+”进行重载。




,只有两处不同:

运算符重载函数除了可以作为类的成员函数外,还可以是非成员函数。。
01
将运算符“+”重载为适用于复数加法,重载函数不作为成员函数,而放在类外,作为Complex类的友元函数。
02

,只作了一处改动,将运算符函数不作为成员函数,而把它放在类外,在Complex类中声明它为友元函数。同时将运算符函数改为有两个参数。在将运算符“+”重载为非成员函数后,C++编译系统将程序中的表达式c1+c2解释为
即执行c1+c2相当于调用以下函数:
{return Complex(+, +);}
operator+(c1,c2)
Complex operator + (Complex &c1,Complex &c2)
为什么把运算符函数作为友元函数呢?因为运算符函数要访问Complex类对象中的成员。如果运算符函数不是Complex类的友元函数,而是一个普通的函数,它是没有权利访问Complex类的私有成员的。
1
2
3
4
5
6

运算符重载函数可以是类的成员函数,也可以是类的友元函数,还可以是既非类的成员函数也不是友元函数的普通函数。现在分别讨论这3种情况。
首先,只有在极少的情况下才使用既不是类的成员函数也不是友元函数的普通函数,原因是普通函数不能直接访问类的私有成员。
在剩下的两种方式中,什么时候应该用成员函数方式,什么时候应该用友元函数方式?二者有何区别呢?
如果将运算符重载函数作为成员函数,它可以通过this指针自由地访问本类的数据成员,因此可以少写一个函数的参数。但必须要求运算表达式第一个参数(即运算符左侧的操作数)是一个类对象,而且与运算符函数的类型相同。因为必须通过类的对象去调用该类的成员函数,而且只有运算符重载函数返回值与该对象同类型,运算结果才有意义。

重载双目运算符
双目运算符(或称二元运算符)是C++中最常用的运算符。双目运算符有两个操作数,通常在运算符的左右两侧,如3+5,a=b,i<10等。
定义一个字符串类String,用来存放不定长的字符串,重载运算符“==”,“<”和“>”,用于两个字符串的等于、小于和大于的比较运算。

最近更新

家庭保姆专业护理服务合同 2页

家电行业产品促销合作框架协议 2页

宾馆总经理职位任期聘用合同书 2页

2025年春节高速公路免费时间表 3页

2025年春节过年简短祝福语 34页

工艺品出口销售与文化交流协议 3页

市政道路钻孔工程服务合同 3页

2025年春节的由来 春节传统习俗 5页

年度企业财税顾问专项合作协议书 3页

贵州省2025年中考语文试卷真题及答案 11页

应急照明灯具安装与检修服务合同范本 3页

水产捕捞工(淡水捕捞工)浙江省职业技能标准.. 22页

2025年春节作文四年级800字 5页

影视制作保密协议范本 3页

2025年春季森林防火的倡议书 6页

2025年春季开学教师演讲稿范文五篇 11页

户外活动场所车位划线与安全警示系统施工合同.. 3页

2025年春季学期八年级语文期中试题 37页

夏季安全专题培训夏季安全生产十防 33页

2025年春天的风景小学四年级优秀作文范文 6页

房屋买卖未办理过户手续协议范本 3页

信息关键技术学科区域学业评价专项方案导引下.. 9页

打桩机租赁及租赁期满续租合同 21页

投影机采购与灯光音响租赁服务合同 3页

抵押担保设备融资三方借款合同样本 3页

担保公司会计科目与内部审计合作合同 3页

2025年附表1药用植物资源实地调查记录表 8页

通信工程安全生产培训考试试题(答案解析版) 6页

江苏省临床重点专科评审标准 6页

元旦节放假通知 (51) 1页