宣告函數的問題 |
尚未結案
|
Julien
一般會員 發表:36 回覆:28 積分:12 註冊:2002-11-28 發送簡訊給我 |
|
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
1.Delphi 在宣告區,使用的引數都有編寫在()裡面,C語言可以不用,請問這個不同的地方在哪呢?
C也要吧... 2.若Delphi也可以不用在()裡編寫引數,又是怎麼回事呢?
不太確定您問的這問題... 跟JAVA探討一些"函數覆寫"等等的話題有相互關係嗎?
沒關係... 以下為用法,您參考參考.
不是很確定你現在的問題是什麼,是要把C轉Delphi還是Delphi轉C,請再把問題描述清楚一些.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, ShellCtrls, FileCtrl; type TForm1 = class(TForm) Button1: TButton; DBGrid1: TDBGrid; procedure Button2Click(Sender: TObject); private procedure test2(s:string); public end; var Form1: TForm1; implementation {$R *.dfm} procedure test(s:string); begin end; function test1(s:string):string; begin result:=s; end; procedure TForm1.test2(s:string); begin showmessage(s); end; function test3():string; begin end; procedure TForm1.Button2Click(Sender: TObject); var s:string; begin test('test'); s:=test1('1234'); test2('1234df'); test3;//無引數不用括號 end; end.發表人 - supman 於 2005/07/04 16:51:06 |
Julien
一般會員 發表:36 回覆:28 積分:12 註冊:2002-11-28 發送簡訊給我 |
|
yhchu
一般會員 發表:2 回覆:70 積分:24 註冊:2004-01-28 發送簡訊給我 |
C++ 的引數宣告只會更嚴謹。你之所以看到像這樣的 code
[SubRoutine宣告區] //這個空白括號,對只寫過Delphi的人來說,實在令人費解 Private void dragComponent_rotate(); // [SubRoutine程式] Private void dragComponent_rotate ( Dpoint3d *pt, int view, int drawMode ) {.......}應該是因為 function overloading 的關係。也就是說其實也有 private void dragComponent_rotate(Dpoint3d *pt, int view, int drawMode) 的函數宣告,也有 private void dragComponent_rotate() 的函數宣告,C 編譯器會依據引用時的參數數目及型態決定呼叫的是哪一個。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |