Surcharge de fonction

ensemble de fonctions de même nom, en programmation logicielle

La surcharge de fonction (également connue sous le nom de surdéfinition, polymorphisme ad hoc ou overloading en anglais) est une possibilité offerte par certains langages de programmation de définir plusieurs fonctions ou méthodes de même nom, mais qui diffèrent par le nombre ou le type des paramètres effectifs.

Le polymorphisme ad hoc ne doit pas être confondu avec le polymorphisme d'inclusion des langages à objets, permis par l'héritage de classe et la redéfinition de méthode (overriding en anglais).

La surcharge peut être statique (le choix de la version est alors fait en fonction du nombre d'arguments et de leur type statique déclaré à la compilation) ou dynamique (le choix de la version est alors fait en fonction du type dynamique des arguments constaté à l'exécution). La surcharge dynamique est également appelée « dispatch multiple » et une méthode surchargée dynamiquement « multiméthode ».

Surcharge d'opérateurs

La surcharge des opérateurs tels que +, -, ou * permet au programmeur d'utiliser des opérateurs avec des types eux aussi définis par le programmeur. C'est utile lorsque ces types représentent des valeurs conventionnellement utilisées avec des opérateurs (nombre complexe[1], matrice[2]) ou sont très utilisés comme le type std::string de C++.

Catalogue

Exemple de surcharge en C++

Un exemple classique de surcharge en C++, la conversion de différents types en chaîne de caractère (assurée dans son standard par std::to_string).

#include <iostream>#include <string>#include <sstream>std::string toString(const double a) {    std::ostringstream strs;    strs << a;    return strs.str();}std::string toString(const unsigned int a) {    std::ostringstream strs;    strs << a;    return strs.str();}int main() {    unsigned int age = 10;    std::cout << "Ton age est de " << toString(age) << " ans" << std::endl;}

Notes et références

Voir aussi

Sur les autres projets Wikimedia :


🔥 Top keywords: Wikipédia:Accueil principalListe de sondages sur les élections législatives françaises de 2024Spécial:RechercheJordan BardellaChampionnat d'Europe de football 2024N'Golo KantéJodie DevosKylian MbappéÉlections législatives françaises de 2024Marcus ThuramLe Jardin des Finzi-Contini (film)Maria Schneider (actrice)Cookie (informatique)Championnat d'Europe de footballNouveau Front populaireKevin DansoAntoine GriezmannÉric CiottiChampionnat d'Europe de football 2020Dominique SandaMike MaignanWilliam SalibaLionel JospinÉlections législatives de 2024 dans l'EssonneFront populaire (France)Françoise HardyÉlections législatives de 2024 à ParisRassemblement nationalJean-Luc MélenchonFichier:Cleopatra poster.jpgOlivier GiroudSébastien ChenuDidier DeschampsLa Chronique des BridgertonÉlections législatives de 2024 dans les YvelinesLilian ThuramListe de partis politiques en FranceAnne SinclairGabriel Attal