多态性同样的消息被不同类型对象接收,导致完全不同.ppt

多态性同样的消息被不同类型对象接收,导致完全不同.ppt

ID:52344197

大小:292.50 KB

页数:56页

时间:2020-04-04

多态性同样的消息被不同类型对象接收,导致完全不同.ppt_第1页
多态性同样的消息被不同类型对象接收,导致完全不同.ppt_第2页
多态性同样的消息被不同类型对象接收,导致完全不同.ppt_第3页
多态性同样的消息被不同类型对象接收,导致完全不同.ppt_第4页
多态性同样的消息被不同类型对象接收,导致完全不同.ppt_第5页
资源描述:

《多态性同样的消息被不同类型对象接收,导致完全不同.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、多态性:同样的“消息”被不同类型对象接收,导致完全不同的“行为”!消息:对成员函数的调用;行为:函数实现(操作);第8章多态性和虚函数封装性:基础继承性:关键多态性:补充面向对象的三大特征C++语言基础1§8.1函数重载§8.2运算符重载§8.3静态联编和动态联编§8.4虚函数§8.5纯虚函数和抽象类§8.6虚析构函数C++语言基础第8章多态性和虚函数28.1函数重载相同作用域内的同一个函数名对应不同的实现,(赋以同一个函数名多个含义);成员函数、非成员函数均可重载;要求:编译器能唯一确定采用哪一个函数实现;依据:参数类型或个数不同,对返回值没

2、有要求用相同名字访问一组相关联的函数,由编译程序选择,有助于解决程序复杂性问题。C++语言基础3string::string(intsize){length=size;sptr=newchar[length+1];*sptr='';}string::string(char*s){length=strlen(s);sptr=newchar[length+1];strcpy(sptr,s);}string::string(string&s1){length=s1.length;sptr=newchar[length+1];strcpy(sptr

3、,s1.sptr);}C++语言基础classstring{public:string(char*s);string(string&s1);string(intsize=80);~string(){deletesptr;}intgetlen(){returnlength;}voidprint(){cout<

4、.print();cout<

5、性;重载函数的注意事项C++语言基础intf(inta);doublef(inta);由typedef定义的类型别名不能区分重载函数。用一函数的重复说明typedefdoublemoney;voidf(doubleincome);voidf(moneyincome);函数重载必须从形式参数上区分,不能仅靠函数返回值加以区分;6C++语言基础函数重载二义性:C++语言的编译程序无法在多个重载函数中选择正确的函数进行调用;主要原因:C++语言的自动隐式类型转换C++语言的设置参数默认值重载函数的二义性7C++语言基础floatabs(floatx)

6、{return(x>0?x:-x);}doubleabs(doublex){return(x>0?x:-x);}voidmain(){cout<

7、多重含义,使之用于特定类的对象完成特定的功能。一、运算符重载的相关问题C++语言基础二、重载的两种形式10一、相关问题哪些运算符可以重载?除..*::?:外所有运算符均可;包括:算术、位操作、逻辑、比较、赋值及其它运算符如:[]()->->*newdeleteC++语言基础原则:含义清楚,不能有二义性。限制(1)不可臆造新的运算符;(2)“4不变”:优先级、结合性、语法结构和操作数个数不变;编译程序如何选择运算符函数?遵循函数重载原则,寻找参数匹配的运算符函数;11成员函数友元函数重载为类的成员函数二、运算符重载函数的两种形式C++语言基础“o

8、perator”是运算符重载函数的关键字;<运算符>给定要重载的运算符名称;重载为成员函数时,总隐含参数——this指针;<类型>operator<运

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

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

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