天天看點

C++之預設參數值的函數

預設參數值的函數

在定義一個函數的時候,可以預先給這些形參确定預設的值。調用時如果傳遞實參,就用你傳遞的值,否則就用預設的值。

例:

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

	return 0;
}
           

預設參數值的說明次序

  1. 有預設參數的形參必須列在形參清單的最右,即預設參數值的右邊不能有無預設值的參數
  2. 調用時實參與形參的結合次序是從左向右

例:

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);    // 錯誤
           

預設參數值與函數的調用位置

1.如果一個函數有原型聲明,且聲明在定義之前,則預設參數值應在函數原型聲明中給出;

int add(int x=5, int y=6);
// 原型聲明在前
int main(){
	add()
}
int add(int x, int y){
    // 此處不能再指定預設值
	return x+y;
}
           

2.如果隻有函數的定義,或函數定義在前,則預設參數值可以在函數定義中給出;

int add(int x=5, int y=6){
// 定義在調用之前
	return x+y;
}
int main(){
	add();
}
           

繼續閱讀