C++的多面性(Overloading)

C++的多面性(Overloading)

ID:44195398

大小:117.00 KB

页数:12页

时间:2019-10-19

C++的多面性(Overloading)_第1页
C++的多面性(Overloading)_第2页
C++的多面性(Overloading)_第3页
C++的多面性(Overloading)_第4页
C++的多面性(Overloading)_第5页
资源描述:

《C++的多面性(Overloading)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、ngl=max(23L,56L);函式傳回值的型別以及函式的參數名稱不可作為複載函式的識別之用intprint();longprint();//errorintprint(inta);intprint(intb);//errorTypedefcharflag;print(char);print(flag);//error不同的scope各有其獨自的overloading空間Func1(){intmax(inta,intb);….}Func2(){intmax(chara,charb);….}由於typedef並不會

3、定義出新的型別(只是製造出一別名而已),因此,用typedef所定義出的型別仍以其原始型別為複載之依據//Overloading使用範例#includevoidrepchar();voidrepchar(char0;voidrepchar(char,int);voidmain(){repchar();repchar(‘=‘);repchar(‘+’,30);}voidrepchar(){for(intj=0;j<45;j++)cout<<‘*’;cout<

4、(charch){for(intj=0;j<45;j++)cout<#include#include//forexit(1)constintMax=100;classStack{prot

5、ected:intst[Max];inttop;public:Stack(){top=0;}voidPush(intvar){st[++top]=var;}intPop(){returnst[top--];}};classStack2:publicStack{public:voidPush(intvar){if(top0)returnStack::Pop(

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

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

8、mr1,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. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。