缺省參數的定義
缺省參數是聲明或定義函數時為函數的參數指定一個缺省值。在調用該函數的時候,如果沒有指定實參,則采用該形參的缺省值,否則使用指定的實參。
void Func(int a = 0)
{cout << a << endl;
}
int main()
{ Func();Func(2);return 0;
}
缺省參數的分類
全缺省參數
給值時,只能按照從左往右賦值。
void Func(int a = 10, int b = 20, int c = 30)
{cout << "a = " << a << " ";cout << "b = " << b << " ";cout << "c = " << c << endl;
}
int main()
{Func();Func(1); //傳一個實參時,默認給第一個形參(a)Func(1,2); //傳兩個實參,默認給前兩個形參(a,b)Func(1,2,3);
}
?半缺省參數
void Func(int a, int b = 10, int c = 20)
{cout << "a = " << a << " ";cout << "b = " << b << " ";cout << "c = " << c << endl;
}
int main()
{Func(1);Func(1,2);Func(1,2,3);
}
?注意:
1.半缺省參數必須從右往左依次來給出,不能間隔著給。(如Func(int a = 10,? int b, int c = 20))
2.缺省參數不能在函數聲明和定義中同時出現。(一般聲明給,定義不給),防止兩者出現的缺省參數的值不同造成錯誤。
3.缺省參數必須時常量或者全局變量。
4.c語言不支持(編譯器不支持)。