日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

函数的缺省参数

發布時間:2025/7/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 函数的缺省参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數或過程可以有缺省參數default parameters),正如其名稱一樣,如果函數或過程在調用時沒有指定參數,它就會為函數提供一個缺省值。

為了聲明一個有缺省值的過程或函數,在參數類型后跟一個等號和缺省值。

下面照慣例,舉一個比較完整的例子,來實現一個加法的程序,默認是兩個數相加,但是也能實現三個數相加的功能。

1、新建一個Console Application。

2、在代碼中輸入以下代碼,創建一個AddInts函數,用來實現數的相加,如下:

program Project1; {$APPTYPE CONSOLE} usesSysUtils; { AddInts函數中第三個參數I3默認值為0} function AddInts(I1, I2: Integer; I3: Integer = 0): Integer; beginResult := I1 + I2 + I3; end; varI1, I2, I3: Integer;JG: Integer; beginI1 := 123;I2 := 321;I3 := 555;JG := AddInts(I1, I2); { 實現兩個數相加 I1 + I2}Writeln(IntToStr(I1) + ' + ' +IntToStr(I2) + ' = ' +IntToStr(JG)); { 輸出 I1 + I2 = JG}JG := AddInts(I1, I2, I3);{ 實現三個數相加 I1 + I2 + I3}Writeln(IntToStr(I1) + ' + ' +IntToStr(I2) + ' + ' +IntToStr(I3) + ' = ' +IntToStr(JG)); { 輸出 I1 + I2 + I3 = JG}Readln; end.

3、運行結果如下:

4、有缺省值參數的最大好處是,在向一個已存在的過程和函數增加功能時,不必關心向后兼容的問題,就像上面的AddInts函數一樣,增加一個具有缺省值的第三個參數,就能把AddInts函數擴展而不必擔心它的兼容問題。

Note

任何缺省參數只能放在函數或過程參數表的結尾,下面的代碼就是一個無效的函數聲明:

procedure MyProcedure(X: Integer; Y: Integer = 10; Z: Integer);

編譯以上聲明,將會報出“Default value required for ‘Z’”錯誤,如果要想成功編譯這個函數聲明,就必須把缺省參數移動到參數表的末尾,如下:

procedure MyProcedure(X: Integer; Z: Integer; Y: Integer = 10);

以上代碼均在Delphi7中測試通過。

總結

以上是生活随笔為你收集整理的函数的缺省参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。