函數重載與匹配

1.有默認參數時,實際上就可以認爲該函數可以代表幾種函數。這幾種函數可以用下例說明:

#include <iostream>
#include <string>
using namespace std;

int func(int i) { cout << 1 << endl; return 0; }
int func(int i, int j = 0) { cout << 2 << endl; return 0; }
int func(int i, int j = 0, int k = 0) { cout << 3 << endl; return 0; }
int main()
{
 func(1);//錯誤,有多個重載函數與參數列表匹配
 func(1, 2);//錯誤,有多個重載函數與參數列表匹配

 return 0;
}

這說明第三個函數已經包含了前倆函數。

2.對於沒有默認參數情況。一:選擇可行函數,滿足形參與實參個數相同,每個對應的形參與實參隱式轉換。二:實行最佳匹配。

 

發佈了30 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章