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; }
上の例では、 2 つの reverse
関数を作成しました:
reverse(string&)
: 文字列を反転します reverse (int* array, int size)
: 数値配列を反転しますmain
関数で、reverse
関数を呼び出して文字列と配列を反転します。
パラメータ推論を通じて、コンパイラはパラメータの型に基づいて呼び出されるオーバーロードされた関数を決定できます。文字列の場合は reverse(string&)
を呼び出し、配列の場合は reverse(int* array, int size)
を呼び出します。
以上がC++ 関数のオーバーロードでさまざまなパラメーター型の関数を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。