C++中缺省參數(shù)的使用
缺省參數(shù)概念
缺省參數(shù)是聲明或定義函數(shù)時(shí)為函數(shù)的參數(shù)指定一個(gè)缺省值。在調(diào)用該函數(shù)時(shí),如果沒(méi)有指定實(shí)參則采用該形參的缺省值,否則使用指定的實(shí)參。
void Print(int num = 0)
{
cout << num << endl;
}
int main()
{
Print(); //沒(méi)有傳參時(shí),使用缺省值,即打印0
Print(10); //有傳參時(shí),使用指定實(shí)參,即打印10
}
缺省參數(shù)分類
全缺省參數(shù)
顧名思義,對(duì)于函數(shù)中的每個(gè)參數(shù),全都給定缺省值,這就是全缺省參數(shù)了。??
void Add2Num(int num1 = 0, int num2 = 0)
{
return num1 + num2;
}
半缺省參數(shù)
半缺省參數(shù)是指:不是每個(gè)函數(shù)參數(shù)都給缺省值,即有些參數(shù)給了缺省值,有些參數(shù)沒(méi)給缺省值。??
void Cal(int num1, int num2, int num3 = 0, int num4 = 0)
{
return num1 * num2 + num3 * num4;
}
注意事項(xiàng)
1.半缺省參數(shù)必須從右往左依次給出,不能間隔著給。像下面這樣的用法是錯(cuò)的,因?yàn)?code>num3沒(méi)有缺省值??
void Cal(int num1, int num2 = 0, int num3, int num4 = 0)
{
return num1 * num2 + num3 * num4;
}
2.缺省參數(shù)不能在函數(shù)聲明和實(shí)現(xiàn)中同時(shí)出現(xiàn),即使給的缺省值是一樣的。下面的代碼就是錯(cuò)誤的??
//函數(shù)聲明 int Add2Num(int num1 = 0, int num2 = 0); //函數(shù)實(shí)現(xiàn) int Add2Num(int num1 = 0, int num2 = 0);
ps:函數(shù)的聲明和實(shí)現(xiàn)中,只能選擇在其中一處給出缺省參數(shù)。假如用戶在聲明和實(shí)現(xiàn)給的缺省值不同,那編譯器不知道以誰(shuí)為準(zhǔn)。
//函數(shù)聲明
void Print(int num = 0);
//函數(shù)實(shí)現(xiàn)
void Print(int num = 10)
{
cout << num << endl;
}
3.缺省值必須是常量或者全局變量。
4.C語(yǔ)言不支持缺省參數(shù)。(編譯器不支持)
到此這篇關(guān)于C++中缺省參數(shù)的使用的文章就介紹到這了,更多相關(guān)C++ 缺省參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++ 風(fēng)靡一時(shí)的連連看游戲的實(shí)現(xiàn)流程詳解
游戲“連連看”是源自臺(tái)灣的桌面小游戲,自從流入大陸以來(lái)風(fēng)靡一時(shí),也吸引眾多程序員開(kāi)發(fā)出多種版本的“連連看”。這其中,顧芳編寫(xiě)的“阿達(dá)連連看”以其精良的制作廣受好評(píng),這也成為顧方“阿達(dá)系列軟件”的核心產(chǎn)品。并于2004年,取得國(guó)家版權(quán)局的計(jì)算機(jī)軟件登記證書(shū)2021-11-11
C++?AVL樹(shù)插入新節(jié)點(diǎn)后的四種調(diào)整情況梳理介紹
AVL樹(shù)是高度平衡的而二叉樹(shù),它的特點(diǎn)是AVL樹(shù)中任何節(jié)點(diǎn)的兩個(gè)子樹(shù)的高度最大差別為1,本文主要給大家介紹了C++如何實(shí)現(xiàn)AVL樹(shù),需要的朋友可以參考下2022-08-08
如何使用C語(yǔ)言實(shí)現(xiàn)平衡二叉樹(shù)數(shù)據(jù)結(jié)構(gòu)算法
對(duì)于判斷是否為平衡二叉樹(shù)而言,我們需要知道以下特性:是一個(gè)二叉樹(shù)也是一個(gè)二叉排序樹(shù)該樹(shù)的每個(gè)結(jié)點(diǎn)上的(深度)左子樹(shù) - 右子樹(shù)的值為平衡因子(BF(Balance Factor))該樹(shù)的每一個(gè)節(jié)點(diǎn)的左子樹(shù)和右子樹(shù)的高度至多等于1(平衡因子只可能是-1,0,1)2021-08-08
C++?std::chrono庫(kù)使用示例(實(shí)現(xiàn)C++?獲取日期,時(shí)間戳,計(jì)時(shí)等功能)
std::chrono是C++標(biāo)準(zhǔn)庫(kù)中的一個(gè)組件,用于表示和處理時(shí)間,這篇文章主要介紹了C++?std::chrono庫(kù)使用指南(實(shí)現(xiàn)C++?獲取日期,時(shí)間戳,計(jì)時(shí)等功能),需要的朋友可以參考下2023-06-06

