面向对象程序设计(C++)-第八章多态性课件.ppt

面向对象程序设计(C++)-第八章多态性课件.ppt

ID:57188687

大小:126.00 KB

页数:55页

时间:2020-08-02

面向对象程序设计(C++)-第八章多态性课件.ppt_第1页
面向对象程序设计(C++)-第八章多态性课件.ppt_第2页
面向对象程序设计(C++)-第八章多态性课件.ppt_第3页
面向对象程序设计(C++)-第八章多态性课件.ppt_第4页
面向对象程序设计(C++)-第八章多态性课件.ppt_第5页
资源描述:

《面向对象程序设计(C++)-第八章多态性课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章多态性C++语言程序设计1本章主要内容多态性运算符重载虚函数纯虚函数抽象类2多态性的概念多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为。同样的消息:调用名称相同的成员函数;完全不同的行为:函数实现的功能不同。多态性是面向对象程序设计的重要特征之一。3三种办法:函数重载运算符重载虚函数多态的实现4运算符重载定义:运算符重载是对已有的运算符赋予多重含义.必要性C++中预定义的运算符其运算对象只能是基本数据类型,而不适用于用户自定义类型(如类)5将指定的运算表达式转化为对运算符函数的调用,运算对象转化为运算符函数的实参

2、。实现机制6规则和限制可以重载C++中除下列运算符外的所有运算符:..*::?:只能重载C++语言中已有的运算符,不可臆造新的。不能改变操作数个数。7运算符重载两种形式重载为类成员函数重载为友元函数8运算符重载为类的成员函数语法形式:函数类型operator运算符(形参表){......}9重载为类成员函数时参数个数=原操作数个数-1(后置++、--除外)原因:当重载为类的成员函数时,自身的数据可以直接访问,就不需要再放在参数表中进行传递。10例8.1将“+”、“-”运算重载为复数类的成员函数。规则:实部和虚部分别相加减。操作数:两个操作数都

3、是复数类的对象。11#includeusingnamespacestd;classcomplex//复数类声明{public://外部接口complex(doubler=0.0,doublei=0.0){real=r;imag=i;}//构造函数complexoperator+(complexc2);//+重载为成员函数complexoperator-(complexc2);//-重载为成员函数//以上两句程序是重载的成员函数声明voiddisplay();//输出复数private://私有数据成员doublereal;

4、//复数实部---------类的数据成员doubleimag;//复数虚部---------成员函数直接访问};1212complexcomplex::operator+(complexc2){complexc;c.real=c2.real+real;c.imag=c2.imag+imag;returnc;}1313complexcomplex::operator-(complexc2){complexc;c.real=real-c2.real;c.imag=imag-c2.imag;returnc;}1414voidcomplex::di

5、splay(){cout<<"("<

6、c1=(5,4)c2=(2,10)c3=c1-c2=(3,-6)c3=c1+c2=(7,14)1616运算符重载为类的友元函数语法形式:friend函数类型operator运算符(形参表){......}17重载为友元函数时1、前面加friend关键字进行说明2、参数个数=原操作数个数18例8-3将+、-(双目)重载为复数类的友元函数。两个操作数都是复数类的对象。19#includeusingnamespacestd;classcomplex//复数类声明{public://外部接口complex(doubler=0.0,

7、doublei=0.0) {real=r;imag=i;}friendcomplexoperator+(complexc1,complexc2);friendcomplexoperator-(complexc1,complexc2);voiddisplay();private:doublereal;doubleimag;};2020complexoperator+(complexc1,complexc2)//运算符重载友元函数实现{returncomplex(c2.real+c1.real,c2.imag+c1.imag);}complexo

8、perator-(complexc1,complexc2)//运算符重载友元函数实现{returncomplex(c1.real-c2.real,c1.imag-c

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

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

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