Functional-programming-function-overloading

提供:Dev Guides
移動先:案内検索

関数のオーバーロード

同じ名前で異なるパラメーターを持つ複数の関数がある場合、それらはオーバーロードされていると言われます。 この手法は、プログラムの可読性を高めるために使用されます。

関数をオーバーロードするには2つの方法があります。 −

  • 引数の数が異なる
  • 異なる引数タイプを持つ

関数のオーバーロードは、通常、異なる数または種類の引数を使用して1つの操作を実行する必要がある場合に行われます。

C ++での関数のオーバーロード

次の例は、オブジェクト指向プログラミング言語であるC ++で関数のオーバーロードが行われる方法を示しています-

#include <iostream>
using namespace std;
void addnum(int,int);
void addnum(int,int,int);

int main() {
   addnum (5,5);
   addnum (5,2,8);
   return 0;
}

void addnum (int x, int y) {
   cout<<"Integer number: "<<x+y<<endl;
}

void addnum (int x, int y, int z) {
   cout<<"Float number: "<<x+y+z<<endl;
}

それは次の出力を生成します-

Integer number: 10
Float number: 15

Erlangでの関数のオーバーロード

次の例は、関数型プログラミング言語であるErlangで関数のオーバーロードを実行する方法を示しています-

-module(helloworld).
-export([addnum/2,addnum/3,start/0]).

addnum(X,Y) ->
   Z = X+Y,
   io:fwrite("~w~n",[Z]).

addnum(X,Y,Z) ->
   A = X+Y+Z,
   io:fwrite("~w~n",[A]).

start() ->
   addnum(5,5),     addnum(5,2,8).

それは次の出力を生成します-

10
15