C++核心編程之占位參數(shù)和默認(rèn)參數(shù)
1,默認(rèn)參數(shù)
在c++中,函數(shù)的形參列表中的形參是可以有默認(rèn)值的。
- 語法: 返回值類型 函數(shù)名 (參數(shù) = 默認(rèn)值)
- 注意事項(xiàng):1從左到右設(shè)置默認(rèn)參數(shù)。2不能重定義默認(rèn)參數(shù)
代碼示例:
int test(int a, int b=10, int c=10) { ? return a + b + c; }
?b=10和c=10就是函數(shù)的默認(rèn)參數(shù),當(dāng)不給b和c賦值時(shí),就用默認(rèn)的參數(shù)
使用
?使用默認(rèn)參數(shù)時(shí)候有兩點(diǎn)要注意?:
(1)設(shè)置默認(rèn)參數(shù)的時(shí)候,必須從左到右都設(shè)置。
既從左到右的第一個(gè)參數(shù)設(shè)置默認(rèn)值了,其后面都要設(shè)置默認(rèn)參數(shù)。可以都設(shè)也可以都不設(shè)
代碼示例:
int test02(int a,int b,int c=10,int d=20,int f=30) { ? return a + b + c + d + f; }
(2)不能重定義默認(rèn)參數(shù)。既函數(shù)的定義和函數(shù)的實(shí)現(xiàn)時(shí),只能選擇其一設(shè)置默認(rèn)參
代碼示例:
int test03(int a = 10, int b = 10); int test03(int a,int b) { ? return a + b; } int main() { ? cout << test(10) << endl;//輸出結(jié)果為30 ? cout << test(10,30,30) << endl;//自動跳過默認(rèn)的10,用的是30的值,輸出結(jié)果為70 ?? ? system("pause"); }
2,函數(shù)占位參數(shù)
c++中函數(shù)的形參列表里可以有占位參數(shù),用來占位,調(diào)用函數(shù)時(shí)必須填補(bǔ)位置
語法: 返回值類型 函數(shù)名 (數(shù)據(jù)類型) { }
void ?test ?( int c int ) ?{}
上方參數(shù)列表中 第二個(gè) int 既是占位參數(shù)
void func(int a,int) { ? cout << "this is a function" << endl; } int main() { ? func(10, 56); //若只傳入10不傳入56,那么func函數(shù)將不會被調(diào)用 ? system("pause"); }
報(bào)錯(cuò):
觸發(fā)的情況:
占位參數(shù)的:?在調(diào)用的時(shí)候必須傳入該類型的參數(shù)函數(shù)才能被調(diào)用?;
優(yōu)點(diǎn):可以用作函數(shù)的觸發(fā)
到此這篇關(guān)于C++核心編程之占位參數(shù)和默認(rèn)參數(shù)的文章就介紹到這了,更多相關(guān)C++占位參數(shù)和默認(rèn)參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IOS 開發(fā)UITextView回收或關(guān)閉鍵盤
這篇文章主要介紹了IOS 開發(fā)UITextView回收或關(guān)閉鍵盤的相關(guān)資料,需要的朋友可以參考下2017-06-06C++實(shí)現(xiàn)職工信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了c++實(shí)現(xiàn)職工信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01