使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt

使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt

ID:52383825

大小:244.01 KB

页数:12页

时间:2020-04-05

使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt_第1页
使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt_第2页
使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt_第3页
使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt_第4页
使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt_第5页
资源描述:

《使一个算符或函式具有处理多种资料型别能力的方法称为复载.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、使一個算符或函式具有處理多種資料型別能力的方法稱為複載(Overloading)C++中對複載的意義為:讓同一種名稱或用法具有多種意義當我們定義多個具有相同名稱,但卻有不同參數個數或相同參數個數但參數型別不同時,這就稱為函式的複載函式及運算子的多面性(Overloading)函式的複載(Overloading)intmax(inta,intb){….}charmax(chara,charb){….}longmax(longa,longb){….}inti=max(2,4);charc=max(‘a’,’b’);longl=max(23L,56L);函式傳回值的型別以及函式的參數名稱不可作為

2、複載函式的識別之用intprint();longprint();//errorintprint(inta);intprint(intb);//errorTypedefcharflag;print(char);print(flag);//error不同的scope各有其獨自的overloading空間Func1(){intmax(inta,intb);….}Func2(){intmax(chara,charb);….}由於typedef並不會定義出新的型別(只是製造出一別名而已),因此,用typedef所定義出的型別仍以其原始型別為複載之依據//Overloading使用範例#include

3、voidrepchar();voidrepchar(char0;voidrepchar(char,int);voidmain(){repchar();repchar(‘=‘);repchar(‘+’,30);}voidrepchar(){for(intj=0;j<45;j++)cout<<‘*’;cout<

4、}Output:****…***===…=====++…++//Overloading使用範例#include#include#include//forexit(1)constintMax=100;classStack{protected:intst[Max];inttop;public:Stack(){top=0;}voidPush(intvar){st[++top]=var;}intPop(){returnst[top--];}};classStack2:publicStack{public:voidPush(intvar

5、){if(top0)returnStack::Pop();else{cout<<"Error:stackisempty";exit(1);}}};voidmain(){clrscr();Stack2s2;s2.Push(11);s2.Push(22);s2.Push(33);cout<

6、.Pop();}Output:332211Error:stackisempty運算子的多面性(OperatorOverloading)C++與C相同,提供算術運算子(+,-,*,/,++,--…)及關係運算子(>,>=..)以及算術指定運算子(+=,*=,…)能對基本資料型態如int,float,long等執行運算如:inta=b+c;leage+=le;對使用者自行定義較複雜的資料型態如結構或類別,就不能拿這些運算子直接作運算,例如,不能直接將兩個屬於room的類別變數作相加來當作其成員變數相加,必須另外透過成員函數進行運算....Classroom{private:floatledge

7、,sedge;public:…voidaddsquare(roomr1,roomr2)}r1,r2,r3;...voidroom::addsquare(roomr1,roomr2){ledge=r1.ledge+r2.ledge;sedge=r1.sedge+r2.sedge;}…voidmain(){...r3.addsuare(r1,r2);r3=r1+r2;//error}C++提供運算子的複載(多元定義opera

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

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

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