Surcharge de fonction
Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 54 sur 74.
La surcharge de fonctions est une fonctionnalité en C++ où deux fonctions ou plus peuvent avoir le même nom mais des paramètres différents. Lorsque vous appelez une fonction surchargée, le compilateur C++ détermine la définition la plus appropriée à utiliser en comparant les types d'arguments que vous avez utilisés dans l'appel avec les types de paramètres spécifiés dans les définitions. Si aucune fonction correspondante n'est trouvée, le compilateur générera une erreur.
Voici un exemple de surcharge de fonction :
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // Appelle la première version de add
double sum2 = add(2.5, 3.7); // Appelle la seconde version de add
return 0;
}Dans cet exemple, nous avons deux fonctions nommées add. L'une prend deux paramètres int, et l'autre prend deux paramètres double. Selon les types des arguments que nous passons à add, la version appropriée de la fonction est appelée.
Il est important de noter que le type de retour seul ne suffit pas pour surcharger une fonction. Les fonctions doivent différer par leurs listes de paramètres.
Aide-mémoire
La surcharge de fonctions permet d'avoir plusieurs fonctions portant le même nom mais avec des paramètres différents. Le compilateur sélectionne la fonction appropriée en fonction des types d'arguments :
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // Appelle la version int
double sum2 = add(2.5, 3.7); // Appelle la version double
return 0;
}Les fonctions doivent différer par leurs listes de paramètres - le type de retour seul n'est pas suffisant pour la surcharge.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètresTypes de retourSurcharge de fonctionRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationFonctions Void3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriqués