通常情況下,函式在呼叫時,形參從實參那裡取得值。對於多次呼叫同一函式的同一 實參時,c++給出了更簡單的處理辦法。給形參以預設值,這樣就不用從實參那裡取值了。
#define _crt_secure_no_warnings
#include
using
namespace std;
// c++中 允許給乙個形參 預設設定為乙個值, 當外部呼叫函式的時候,如果不傳遞引數的,那麼x就是100
//如果外部傳遞實參,那麼x的值就是實參的值
intfunc1
(int x,
int=0)
// 這裡的 int = 0 是乙個佔位符,沒有實際意義
//求乙個 立方體的體積
//預設引數,必須是從右向左設定, 只有有乙個引數是帶有預設引數 的,那麼他右邊的所有引數都必須有預設值。
intvolume
(int len,
int width,
int high =30)
intmain
(void
)
錯誤函式寫法
float
volume
(float length,
float weight =4,
float high)
在預設引數規則,如果預設引數出現,那麼右邊的都必須有預設引數,例如當 float weight 給予預設值,float high 沒有賦值的話,執行就會報錯
int
func1
(int x,
int=0)
函式佔位引數
佔位引數只有引數型別宣告,⽽而沒有引數名宣告
一般情況下,在函式體內部⽆無法使⽤用佔位引數
注:可以將佔位引數與預設引數結合起來使⽤
意義為以後程式的擴充套件留下線索
相容c語⾔言程式中可能出現的不規範寫法
預設引數規則 :
只有引數列表後面部分的引數才可以提供預設引數值
一旦在乙個函式呼叫中開始使用預設引數值,那麼這個引數後的所有參 數都必須使用預設引數值
如果預設引數和佔位引數在一起,都能調⽤用起來
C 預設引數和佔位引數
預設引數 可以給函式的形參指定乙個值作為這個形參的預設引數,當不給引數傳實參時,使用這個引數 1 有函式宣告時,預設引數可以放在函式宣告或者定義中,但是只能二者之間選擇一種 2 沒有函式宣告時,預設引數在函式定義中 3 在具有多個引數的函式中指定預設值時,預設值都必須出現在非預設引數的右邊。即一旦某...
C 預設引數和佔位引數
預設引數 當沒有實參時,預設的值。當函式有乙個引數為預設引數,那麼從這個引數起,後面的引數都必須有預設引數。在函式的宣告和定義中,預設引數只能寫一次,不然編譯器會報錯,特別是在分檔案編寫中 define crt secure no warnings includeusing namespace st...
C 引數 預設引數和佔位引數
c 在宣告函式原型的時可為乙個或者多個指定預設的引數值,當函式呼叫的時候沒有給這個引數傳遞值,編譯器會自動用預設值代替 void test01 int x 100,int y 200 intmain 2.如果函式宣告和定義分開,函式宣告設定了預設引數,函式的定義不能在設定預設引數 void test...