ホームページ >バックエンド開発 >C++ >C++ 関数のオーバーロードにおける関数のオーバーロードのルールは何ですか?

C++ 関数のオーバーロードにおける関数のオーバーロードのルールは何ですか?

PHPz
PHPzオリジナル
2024-04-14 09:45:01868ブラウズ

C 関数のオーバーロードの規則は次のとおりです: 1. パラメーターのリストが異なります (数値、タイプ、または順序)。 2. パラメーターの数が異なる必要があります。 3. パラメーターのタイプが異なります。順序が異なります。 5. const および参照修飾子はリロードには影響しません。

C++ 函数重载中重载函数的规则是什么?

C で関数をオーバーロードするためのルール 関数のオーバーロード

関数のオーバーロードは C 言語の強力な機能であり、同じ名前を持つ複数の関数を許可します。動作は引数リストに応じて異なります。オーバーロードされた関数を正しく使用するには、次の規則に従う必要があります:

1. パラメーター リストは異なる必要があります

オーバーロードされた関数のパラメーター リスト関数は番号と型で指定する必要があります。そうでない場合は、順序が異なります。例:

void print(int x);
void print(double y);

2。パラメータの数は異なる必要があります。

同じ数のパラメータを持つ関数をオーバーロードすることはできません。例:

// 错误,参数数量相同
void print(int x, int y);
void print(int a, int b);

3. パラメータの型は異なる必要があります

同じ数のパラメータを持つ関数でも、異なる型をオーバーロードできます。例:

void print(const char* s);
void print(int x);

4. パラメーターの順序は異なっていなければなりません

型が同じであっても、パラメーターの順序が異なる関数はオーバーロードされる可能性があります。例:

void swap(int& x, int& y);
void swap(double& a, double& b);

5。const 修飾子と参照修飾子はオーバーロードに影響しません。

const と参照修飾子は関数のオーバーロードに影響しません。例:

void print(const int& x);
void print(int& y);

実用的なケース

次のコード例で、関数のオーバーロードの実際の応用例を確認できます:

#include <iostream>

using namespace std;

void print(int x) {
  cout << "Integer: " << x << endl;
}

void print(double y) {
  cout << "Double: " << y << endl;
}

int main() {
  print(10);  // 调用 print(int)
  print(3.14); // 调用 print(double)
  return 0;
}

出力:

rreee

以上がC++ 関数のオーバーロードにおける関数のオーバーロードのルールは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。