全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1269
推到 Plurk!
推到 Facebook!

Overload 何時用它比較恰當?

答題得分者是:william
starlight
一般會員


發表:8
回覆:6
積分:2
註冊:2003-04-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-22 13:45:37 IP:61.216.xxx.xxx 未訂閱
Overload 具有相同名稱,但是參數部分不相同。 使用於程序與函數,聽說會造成混淆, Overload 何時用它比較恰當? 例如: fun sum(No1:integer):integer;overload; fun sum(No1,No2:string='error'):integer;overload; ..... var x:integer; begin x:=sum(2000); //省略No2參數 end;
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-22 14:46:38 IP:61.218.xxx.xxx 未訂閱
造成混洧…看人囉…任何強大的功能被誤用都會造成混洧 您舉的例子就是一個使用OverLoad 的好時機 以VCL的例子來講,OverLoad 有時用在Create()接受不同參數時 所以它是讓您之後寫的程式更好用,更有彈性,以免因參數輸入造成程式錯誤 當然也可以選擇不使用 不過…您的函數可能命名如下: sum1 sum2 sum3 呵呵…那看起來就蠻扯的        
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-22 16:25:40 IP:147.8.xxx.xxx 未訂閱
Don't mix overload with default parameters. I think there is a warning in some version of the Delphi (D6?) help stating that the compiler MAY NOT WORK when you mix both.
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-22 18:19:18 IP:61.155.xxx.xxx 未訂閱
overload仅是函数的一种重载方法,扩充定义函数的功能。 她必然也有弊端,没有必要的尽量不用。你可以声明不同的名称调用, 这样会更安全些。 注意:OVERLOAD是根据变量与声明函数定义的参数的接近程度来调用函数的。 风花雪月 e梦情缘
------
风花雪月 e梦情缘
系統時間:2024-04-29 22:47:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!