Examinons la surcharge en C / C ++ / C #

La surcharge de fonctions permet aux fonctions dans les langages informatiques tels que C, C ++ et C # d'avoir le même nom avec des paramètres différents. La surcharge de l'opérateur permet aux opérateurs de travailler de la même manière. En C #, la surcharge de méthode fonctionne avec deux méthodes qui accomplissent la même chose mais ont différents types ou nombres de paramètres.

Un exemple de surcharge de fonction

Plutôt que d'avoir une fonction nommée différemment pour trier chaque type de tableau, comme:

Vous pouvez utiliser le même nom avec différents types de paramètres comme indiqué ici:

Le compilateur peut alors appeler la fonction appropriée en fonction du type de paramètre. La résolution de surcharge est le terme donné au processus de sélection de la fonction de surcharge appropriée. 

Surcharge de l'opérateur

Semblable à la surcharge de fonctions, la surcharge d'opérateurs permet aux programmeurs de redéfinir des opérateurs tels que +, - et *. Par exemple, dans une classe de nombres complexes où chaque nombre a une partie réelle et imaginaire, les opérateurs surchargés permettent au code tel que celui-ci de fonctionner:

Tant que + est surchargé pour le type complexe.

Avantages de la surcharge lors de l'écriture de code

  • Vous vous retrouvez avec un code plus facile à lire
  • La surcharge est pratique et intuitive
  • Évite la syntaxe maladroite 
  • Cohérence dans la dénomination et la notation
  • Fonctionne bien dans les modèles et autres constructions lorsque vous ne connaissez pas le type de variable au moment où vous écrivez le code.