第10章运算符重载ppt课件.pptx

第10章运算符重载ppt课件.pptx

ID:59102642

大小:147.19 KB

页数:49页

时间:2020-09-25

第10章运算符重载ppt课件.pptx_第1页
第10章运算符重载ppt课件.pptx_第2页
第10章运算符重载ppt课件.pptx_第3页
第10章运算符重载ppt课件.pptx_第4页
第10章运算符重载ppt课件.pptx_第5页
资源描述:

《第10章运算符重载ppt课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第十章运算符重载2函数的重载所谓函数的重载是指完成不同功能的函数可以具有相同的函数名。C++的编译器是根据函数的实参来确定应该调用哪一个函数的。intfun(inta,intb){returna+b;}intfun(inta){returna*a;}voidmain(void){cout<

2、)sum=a+b;floatadd,x=3.2,y=2.5;(float)=(float)+(float)add=x+y;charstr[4],c1[2]="a",c2[2]="b";(char*)=(char*)+(char*)str=c1+c2;编译系统中的运算符“+”本身不能做这种运算,若使上式可以运算,必须重新定义“+”运算符,这种重新定义的过程成为运算符的重载。系统自动识别数据类型5classA{floatx,y;public:A(floata=0,floatb=0){x=a;y=b;}}voidmain(void){Aa(2,3),b(3,4),c;c=a+b;}两对象不能使用

3、+,必须重新定义+运算符重载就是赋予已有的运算符多重含义。C++通过重新定义运算符,使它能够用于特定类的对象执行特定的功能6运算符的重载从另一个方面体现了OOP技术的多态性,且同一运算符根据不同的运算对象可以完成不同的操作。为了重载运算符,必须定义一个函数,并告诉编译器,遇到这个重载运算符就调用该函数,由这个函数来完成该运算符应该完成的操作。这种函数称为运算符重载函数,它通常是类的成员函数或者是友元函数。运算符的操作数通常也应该是类的对象。7重载为类的成员函数格式如下:<类名>operator<运算符>(<参数表>){函数体}Aoperator+(A&);//重载了类A的“+”运算符其中:

4、operator是定义运算符重载函数的关键字,它与其后的运算符一起构成函数名。返回类型运算的对象关键字函数名运算的对象8classA{inti;public:A(inta=0){i=a;}voidShow(void){cout<<"i="<

5、完成了加法运算用和作对象调用函数9classA{inti;public:A(inta=0){i=a;}voidShow(void){cout<<"i="<

6、当于a3=a1.operator+(a2)10重载运算符与一般函数的比较:相同:1)均为类的成员函数;2)实现同一功能voidAddA(A&a,A&b){i=a.i+b.i;}Aoperator+(A&a){At;t.i=i+a.i;returnt;}a3=a1+a2;a3.AddA(a1,a2);返回值函数名形参列表由对象a3调用函数调用:返回值函数名形参函数调用:a3=a1.operator+(a2);由对象a1调用11Aoperator+(A&a){At;t.i=i+a.i;returnt;}a3=a1+a2;返回值函数名形参函数调用:a3=a1.operator+(a2);由对象a

7、1调用总结:重新定义运算符,由左操作符调用右操作符。最后将函数返回值赋给运算结果的对象。12classA{inti;public:A(inta=0){i=a;}voidShow(void){cout<<"i="<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。