Menu
Coddy logo textTech

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.

quiz iconTestez-vous

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