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

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

PHPz
PHPzオリジナル
2024-04-11 14:27:02635ブラウズ

回答: C での関数のオーバーロードを使用すると、名前は同じでパラメーター リストが異なる関数を作成できます。パラメータ リストは、タイプ、番号、順序を含めて異なっていなければなりません。戻り値の型は同じでも異なっていても構いません。同じ名前のみを持つ関数をオーバーロードすることはできません。

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

C 関数のオーバーロード ルール

関数のオーバーロードとは、名前は同じでパラメーター リストが異なる関数を作成する機能です。 C での関数のオーバーロードは、次の規則に従います。

  • パラメーター リストは異なる必要があります。オーバーロードされた関数には異なるパラメーター リストが必要です。つまり、

    • 異なるパラメータの型
    • 異なるパラメータの数
    • 異なるパラメータの順序
  • 戻り値の型は無関係です: 関数の戻り値の型は同じでも異なっていてもかまいません。
  • 同じ名前のみを持つ関数をオーバーロードすることはできません: 同じ名前を持つ関数ですが、パラメーター リストが異なる場合は、名前だけに基づいてオーバーロードすることはできません。

実際のケース:

円と長方形の面積を計算するプログラムを考えてみましょう。関数のオーバーロードを使用して、同じ名前の 2 つの関数を作成できますが、各関数は異なる形状の面積を計算します。

// 为圆计算面积
double area(double radius) {
  return 3.14 * radius * radius;
}

// 为矩形计算面积
double area(double length, double width) {
  return length * width;
}

int main() {
  // 计算圆形的面积
  cout << "圆形面积:" << area(5.0) << endl;

  // 计算矩形的面积
  cout << "矩形面积:" << area(2.0, 4.0) << endl;

  return 0;
}

上の例では、2 つの area 関数を定義しました。は半径パラメータを受け入れ、もう 1 つは長さと幅のパラメータを受け入れます。コンパイラは、渡された引数リストに基づいて、呼び出す特定の関数を識別できます。

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

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