Surcharge de fonction

Lorsque nous avons plusieurs fonctions avec le même nom mais des paramètres différents, on dit alors qu'elles sont surchargées. Cette technique est utilisée pour améliorer la lisibilité du programme.

Il existe deux façons de surcharger une fonction, c'est-à-dire -

  • Avoir un nombre d'arguments différent
  • Avoir différents types d'arguments

La surcharge de fonction est normalement effectuée lorsque nous devons effectuer une seule opération avec un nombre ou des types d'arguments différents.

Surcharge de fonction en C ++

L'exemple suivant montre comment la surcharge de fonctions est effectuée en C ++, qui est un langage de programmation orienté objet -

#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; 
}

Il produira la sortie suivante -

Integer number: 10 
Float number: 15

Surcharge de fonction à Erlang

L'exemple suivant montre comment effectuer une surcharge de fonction dans Erlang, qui est un langage de programmation fonctionnel -

-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).

Il produira la sortie suivante -

10 
15