五、运算符重载_面向对象程序设计.ppt

五、运算符重载_面向对象程序设计.ppt

ID:48081477

大小:518.50 KB

页数:39页

时间:2020-01-12

五、运算符重载_面向对象程序设计.ppt_第1页
五、运算符重载_面向对象程序设计.ppt_第2页
五、运算符重载_面向对象程序设计.ppt_第3页
五、运算符重载_面向对象程序设计.ppt_第4页
五、运算符重载_面向对象程序设计.ppt_第5页
资源描述:

《五、运算符重载_面向对象程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程要求课程内容课程内容课程要求参考书目返回首页面向对象程序设计运算符重载基本概念成员运算符函数友元运算符重载特殊运算符重载面向对象程序设计作用运算符重载使得用户自定义的数据以一种更简洁的方式工作。2-16例如intx,y;y=x+y;complexc1,c2;//复数类对象c1=Cadd(c1,c2);//调用函数计算两个复数的和能表示为c1=c1+c2;?matrixm1,m2;//矩阵类对象m1=Madd(m1,m2);//调用函数计算两个矩阵的和能表示为m1=m1+m2;?定义运算符重载函数面向对象程序设计基本概念C++编译器在对运算符进行编译处理时,将一个运算符编译成如下

2、形式:一元运算符:@obj编译成operator@(obj)二元运算符:obj1@obj2编译成operator@(obj1,obj2)其中,关键字operator加上运算符名的函数称为运算符函数。由于C++中有前置++、--,后置++、--,为了区分它们,C++将后置++、--编译成:后置--:obj--编译成operator--(obj,0)后置++:obj++编译成operator++(obj,0)面向对象程序设计基本概念运算符重载的实现2-16返回类型operator运算符(参数表)被重载的运算符关键字函数名面向对象程序设计基本概念可以用作重载的运算符不允许重载的运算符2-

3、161、+、-、*、/、%、++、--2、&、

4、、~、^、<<、>>3、!、&&、

5、

6、4、<、>、>=、<=、==、!=5、=、+=、-=、*=、/=、%=、&=、

7、=、^=、 6、[]、()、->、,、new、delete、new[]、delete[].*(指针)?:::面向对象程序设计基本概念编译程序选用运算符函数的原则遵循函数重载的选择原则:根据参数匹配的原则运算符的重载规则2-16(1)重载后运算符的优先级与结合性不会改变。(2)不能改变原运算符操作数的个数。(3)不能重载C++中没有的运算符。(4)不能改变运算符的原有语义。面向对象程序设计友元运算符函数类内声明类外定义形

8、式2-16friend返回类型operator运算符(参数表)返回类型operator运算符(参数表){……}类外函数,不属于任何类对象,没有this指针重载双目运算符,参数表需两个参数重载单目运算符,参数表需一个参数不能用友元重载的运算符:=()[]->面向对象程序设计友元运算符函数复数类双目+运算的实现classComplex{public:Complex(doubler=0,doublei=0){Real=r;Image=i;}voidprint()const{cout<<'('<

9、constComplex&c1,constComplex&c2);private:doubleReal,Image;};friendComplexoperator+(constComplex&c1,constComplex&c2);面向对象程序设计友元运算符函数2-16复数类双目+运算的实现Complexoperator+(constComplex&c1,constComplex&c2){Complexc;c.Real=c1.Real+c2.Real;c.Image=c1.Image+c2.Image;returnc;}intmain(){Complexc1(2.5,3.7),c2

10、(4.2,6.5);Complexc;c=c1+c2;c.print();return0;}面向对象程序设计友元运算符函数复数类双目-运算的实现intmain(){Complexc1(2.5,3.7),c2(4.2,6.5);Complexc;c=c1-c2;c.print();return0;}面向对象程序设计友元运算符函数复数类单目-运算的实现intmain(){Complexc1(2.5,3.7),c2(4.2,6.5);Complexc;c=-c1;c.print();return0;}面向对象程序设计classComplex{public:Complex(doubler=

11、0,doublei=0){Real=r;Image=i;}voidprint()const{cout<<'('<

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

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

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