c++课件第12章运算符重载.pptx

c++课件第12章运算符重载.pptx

ID:51712303

大小:297.01 KB

页数:39页

时间:2020-02-06

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

《c++课件第12章运算符重载.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第12章运算符重载-2-本章内容安排基本概念递增运算符赋值运算符转换运算符重载输入输出流运算符-3-classComplex{private:doublereal,imag;public:Complex():real(0),imag(0){}Complex(doubler,doublei):real(r),imag(i){}Complex(constComplex&c):real(c.real),imag(c.imag){}voidoutput()const;};1、复数类Complex-4-#include

2、>voidComplex::output()const{if(imag>=0)std::cout<

3、复杂。解决方案二:重载运算符。-6-classComplex{private:doublereal,imag;public:Complex():real(0),imag(0){}Complex(doubler,doublei):real(r),imag(i){}Complex(constComplex&c):real(c.real),imag(c.imag){}voidoutput()const;Complexadd(constComplex&c)const;};成员函数实现加法运算声明两个复数相加的成员函数,返回复数对象-7

4、-ComplexComplex::add(constComplex&c)const{doublex,y;x=real+c.real;y=imag+c.imag;Complextmp(x,y);returntmp;}成员函数实现加法运算执行加法运算,对运算的2个复数没有影响,而是返回一个新的复数对象,add声明为常成员函数,传入参数也是常引用。返回值不能为引用。-8-intmain(){Complexa(3,4),b(4,5),c;a.output();b.output();c=a.add(b);c.output();retur

5、n0;}测试复数类a.add(b)返回一个临时复数对象(保存a和b相加结果),临时对象赋值给c。add方法实现复数加法,但不直观。-9-从简单数据类型开始思考运算符的实质?表达式9/2=4,而9.0/2.0=4.5。这里的同一个运算符“/”,由于所操作的数据不同而具有不同的意义,为什么?如何实现的?C++是由函数组成的,在C++内部,任何运算都是通过函数来实现的。在处理表达式8+7时,C++将这个表达式解释成如下的函数调用表达式:operator+(8,7);相同的运算符对不同数据有不同的操作,实质上是函数的重载!3、引入运算

6、符重载的概念-10-C++已经为各种基本数据类型定义了可能的运算符函数,如operator+(int,int)operator-(int,int)operator/(int,int);operator/(double,double);如果想让类的对象也能使用这些运算符,就需要重载对应的运算符。引入运算符重载的概念-11-classComplex{private:doublereal,imag;public:Complex():real(0),imag(0){}Complex(doubler,doublei):real(r),i

7、mag(i){}Complex(constComplex&c):real(c.real),imag(c.imag){}voidoutput()const;Complexoperator+(constComplex&c)const;};4、运算符重载实现加法运算重载Complex类的+运算符,operator+相当于函数名-12-#includeComplexComplex::operator+(constComplex&c)const{returnComplex(real+c.real,imag+c.ima

8、g);}intmain(){Complexa(3,4),b(4,5),c;a.output();b.output();c=a+b;c.output();return0;}测试复数类a+b相当于a.operator(b),返回临时复数对象,将临时对象赋值给c。-13-本章内容安

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

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

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