C 函數重載允許同名函數參數不同:參數列表不同(類型、數量、順序)返回類型可相同或不同處理不同參數類型函數時,編譯器使用參數推導和類型轉換判定要呼叫的重載函數。
在 C 中,函數重載允許我們有多個具有相同名稱但參數不同的函數。當呼叫函數時,編譯器會根據參數類型決定要呼叫的重載函數。
函數重載的規則:
處理不同參數類型的函數:
當處理具有不同參數類型的函數時,編譯器使用參數推導和類型轉換來確定要呼叫的重載函數。
實戰案例:
以下程式碼展示如何處理不同參數類型的函數重載:
#include <iostream> using namespace std; // 字符串反转 void reverse(string& str) { reverse(str.begin(), str.end()); } // 数组反转 void reverse(int* array, int size) { for (int i = 0; i < size / 2; i++) { swap(array[i], array[size - i - 1]); } } int main() { // 将字符串反转 string str = "Hello"; reverse(str); cout << "反转后的字符串:" << str << endl; // 将数组反转 int array[] = {1, 2, 3, 4, 5}; int size = sizeof(array) / sizeof(array[0]); reverse(array, size); cout << "反转后的数组:"; for (int i = 0; i < size; i++) { cout << array[i] << " "; } return 0; }
在上面的範例中,我們建立了兩個reverse
函數:
reverse(string&)
:反轉一個字串reverse (int* array, int size)
:反轉一個數字數組在main
函數中,我們呼叫reverse
函數來反轉字串和數組。
透過參數推導,編譯器能夠根據參數類型決定要呼叫的重載函數。對於字串,它呼叫 reverse(string&)
,對於數組,它呼叫 reverse(int* array, int size)
。
以上是C++ 函式重載中如何處理不同參數型別的函式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!