1. 程式人生 > 其它 >C++帶預設引數值的函式

C++帶預設引數值的函式

技術標籤:C++語法java

一、可以預先設定預設的引數值,呼叫時如果給出實參,則採用實參值,否則使用預先設定的預設引數值。

int add(int x = 5, int y = 6)
{
	return x + y;
}
int main()
{
	add(10, 20); // 10+20
	add(10); // 10+6
	add(); // 5+6
}

二、預設引數值的說明次序

  • 有預設引數的形參必須列在形參列表的最右,即預設引數值的右面不能無預設值的引數;
  • 呼叫是實參與形參的結合次序是從左向右。
  • 例:
int add(int x, int y = 5, int z = 6); //正確
int add(int
x = 1, int y = 5, int z); //錯誤 int add(int x = 1, int y, int z = 6); //錯誤

三、預設引數值與函式的呼叫位置

  • 如果一個函式有原型宣告,且原型宣告在函式定義之前,則預設引數值應在函式原型宣告中給出;
  • 如果只有函式的定義,或函式定義在前,則預設引數值可以在函式定義中給出。
  • 例:
int add(int x = 5, int y = 6);
//原型宣告在前
int main()
{
	add();
}
int add(int x, int y)
{
	//此處不能再指定預設值
	return x + y;
}
int add(int x = 5
, int y = 6) { //定義在呼叫之前 return x + y; } int main() { add(); }

所以如果函式有預設引數,其宣告和實現都寫上預設引數值就好了。