在C++中,允許在自訂函數的形參列表中,給形參一個預設的值,這樣在呼叫的時候如果有實參,那麼按照實參傳遞給形參的方法使用;若呼叫的時候沒有指定對應的實參,則形參將使用預設值。
例如一個求加法的函數,程式碼如下:
#include<iostream>usingnamespacestd;intadd(inta=3,intb=5){returna+b;}intmain(){cout<<add(10,20)<<endl;//將10和20分別給a和bcout<<add(30)<<endl;//將30給a,b為預設的5cout<<add()<<endl;//使用a、b的預設值3和5return0;}
大家閱讀程式碼並上機實驗,效果如下:
要注意的是,由於參數的傳遞順序是從右到左入棧,所以有預設值的參數必須放在形參列表的最右邊!另外,當函數需要事先宣告時,若形參存在預設參數,則宣告部分可以製定預設值,而後面的函數定義部分則不再製定預設值。
請大家結合實際情況多上機實驗!