C では、関数のオーバーロードを使用して、名前は同じでパラメーター リストが異なる関数を作成できます。関数のオーバーライドは派生クラスで発生し、派生クラスで定義された関数と基本クラスの同じ名前の関数が基本クラスのメソッドをオーバーライドします。
#C での関数のオーバーロードと関数のオーバーライド
はじめに
関数のオーバーロードと関数オーバーライドは、同じ名前の関数をさまざまな方法で作成できるようにする C の 2 つの重要な機能です。このチュートリアルでは、両方の概念について説明し、実践的な例を示します。関数のオーバーロード
関数のオーバーロードを使用すると、名前は同じでパラメーター リストが異なる複数の関数を作成できます。コンパイラは関数を呼び出すときに、引数リストに基づいて呼び出す正しい関数を決定します。 #文法type function_name(parameter_list1);
type function_name(parameter_list2);
次のコードは関数のオーバーロードを示しています:
#include <iostream> int sum(int a, int b) { return a + b; } double sum(double a, double b) { return a + b; } int main() { std::cout << sum(1, 2) << std::endl; // 输出:3 std::cout << sum(1.5, 2.5) << std::endl; // 输出:4 }関数カバレッジ
関数カバレッジは派生クラスで発生します。派生クラスで定義された関数は、基本クラスで定義された関数と同じ名前とパラメーター リストを持ちます。派生クラスのメソッドは、基本クラスのメソッドをオーバーライドします。
#文法
class DerivedClass : public BaseClass { public: type function_name(parameter_list); // 覆盖 BaseClass 中的方法 };実践的なケース
#次のコードは関数カバレッジを示しています:
#include <iostream> class Shape { public: virtual double area() const = 0; }; class Square : public Shape { public: Square(double side_length) : side_length(side_length) {} double area() const override { return side_length * side_length; } private: double side_length; }; int main() { Square square(5); std::cout << square.area() << std::endl; // 输出:25 }
結論
関数のオーバーロードと関数のオーバーライドは、C の 2 つの強力な機能で、動作が異なる同じ名前の関数を作成できます。関数のオーバーロードは、異なるパラメーター リストを持つ関数を作成するために使用され、関数のオーバーライドは、派生クラスの基本クラス メソッドをオーバーライドするために使用されます。
以上がC++ での関数のオーバーロードと関数のオーバーライドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。