天天看點

C++函數預設參數

 在定義參數的時候同時給它一個初始值。

如果某個參數是預設參數,那麼它後面的參數必須都是預設參數

但是這樣就不可以

預設參數的連續性能保證編譯器正确的比對參數。是以可以下這樣一個結論,如果一個函數含有預設參數,那麼它的最後一個參數一定是預設參數。

預設參數可以放在函數聲明或者定義中,但隻能放在二者之一

.h檔案

.cpp檔案

void testclass::func(int i = 1, float f = 2.0f, double d = 3.0)

{

cout << i << ", " << f << ", " << d << endl ;

}

像上面這樣,隻能夠在testclass.cpp中調用func函數。豈不是很痛苦?

 預設值可以是全局變量、全局常量,甚至是一個函數。但不可以是局部變量。因為預設參數的調用是在編譯時确定的,而局部變量位置與預設值在編譯時無法确定。

繼續閱讀