在實現函數重載時,一般會遇到如何選擇函數的問題ios
爲了肯定最佳匹配,編譯器將實參類型到相應形參類型的轉換劃分等級,轉換等級降序以下:函數
1)精確匹配,實參與形參類型相同;spa
2)經過類型提高實現的匹配;指針
上述例子展現了類型提高。C++語言爲內置類型提供了一組轉換規則,其中最經常使用的是算術轉換,算術轉換規則定義了一個類型轉換層次,改層次規定了操做數應該按什麼次序轉換爲表達式中最寬的類型。如對於小於int的整型,包括char、signed char、unsigned char、short和unsigned short都會提高爲int類型。code
3)經過標準轉換實現的匹配;對象
1.指針轉換;2.轉換爲bool類型;3.算術類型與bool類型的轉換; 4.轉換與枚舉類型;5.轉換爲const對象; 6.有標準庫類型定義的轉換。blog
4)經過類類型轉換實現的匹配。編譯器