過載
同乙個作用域內的幾個函式名字相同但是形參列表不同,我們稱之為過載(overload)
不能定義兩個函式除了返回型別外其他所用的要素都相同。
過載和const形參
預設實參
呼叫含有預設實參的函式時,可以包含該實參,也可以省略該實參。注意,一旦某個形參被賦予了預設值,它後面的所有形參都必須有預設值。
函式呼叫時,預設實參負責填補函式呼叫缺少的尾部實參(靠右側位置)。
typedef string::size_type sz;
string screen(sz ht = 24, sz wid = 80, char backgrnd = ' ');
如,想要覆蓋backgrnd的預設值,必須為ht和wid提供實參
window = screen( , , '?');//錯誤,只能省略尾部的實參
window = screen(』?『);//正確 ,呼叫的是screen('?',80, ' ')
雖然實際上是將?的ascii碼63傳給了height
預設實參初始值
區域性變數不能作為預設實參。除此之外,只要表示式的型別能夠轉換成形參所需的型別,該表示式就能作為預設實參。
//wd,def和ht的宣告必須出現在函式之外,
sz wd=80;
char def = ' ';
sz ht();
string screen(sz = ht(), sz = wd, char = def
C 函式 const形參和實參
頂層const 表示任意的物件是常量。底層const 與指標和引用等復合型別有關。對指標而言,頂層const表示指標本身是個常量,而底層const表示指標所指的物件是乙個常量。int i 22 const int ci 20 頂層const,不能修改ci的值 const int p1 ci 底層co...
過載和const形參
1.int lookup string p 2.int lookup const string p 同1 3.int lookup string 傳入乙個指標,指標指向string型別 4.int lookup string const p 傳入的是乙個string,指標常量p指向string,不可...
函式的形參和實參
函式的引數分為形參和實參兩種。形參出現在函式定義中,在整個函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。形參和實參的功能是作資料傳送。發生函式呼叫時,主調函式把實參的值傳送給被調函式的形參從而實現主調函式向被調函式的資料傳送。函式的形參和實參具有...