Contenu du cours
Fonctions C++
Fonctions C++
Surcharge de Fonction
La surcharge de fonction en C++ permet de définir plusieurs fonctions avec le même nom mais des paramètres différents dans le même cadre. Elle vous permet de créer des fonctions qui effectuent des tâches similaires, mais qui peuvent gérer différents types de données ou un nombre différent de paramètres. La surcharge améliore la lisibilité, la réutilisabilité et la flexibilité du code.
Voici pourquoi la surcharge de fonction est utile :
- Variation des paramètres: Les fonctions peuvent être adaptées pour gérer différents types de données ou un nombre différent de paramètres, ce qui permet une utilisation plus polyvalente.
- Lisibilité: En attribuant le même nom à des fonctions ayant des fonctionnalités similaires, le code devient plus intuitif et plus facile à comprendre.
- Réutilisabilité du code: Les fonctions peuvent être réutilisées pour différents types de données ou combinaisons de paramètres, favorisant ainsi une réutilisation efficace du code.
Comment surcharger une fonction?
Une fonction est considérée comme une surcharge d'une autre fonction si :
- Ces fonctions possèdent le même nom.
- Au moins une des conditions suivantes est vraie :
Ces fonctions ont des arguments de types différents.
main
#include <iostream> // Function with one integer parameter void processValue(int num) { std::cout << "Processing integer: " << num << std::endl; } // Overloaded function with one double parameter void processValue(double num) { std::cout << "Processing double: " << num << std::endl; } int main() { // Function calls with different data types int intValue = 5; double doubleValue = 3.14; // Calls the first version of processValue processValue(intValue); // Calls the second version of processValue processValue(doubleValue); }
Ces fonctions ont les mêmes types d'arguments, mais ces arguments ont un ordre différent dans la signature de la fonction.
main
#include <iostream> // Overloaded function with a different number of arguments void processValue(int num, std::string text) { std::cout << "Integer and string: " << num << ", " << text << std::endl; } // Overloaded function with different arguments order void processValue(std::string text, int num) { std::cout << "String and integer: " << text << ", " << num << std::endl; } int main() { // Function calls with different data types and numbers of arguments int intValue = 5; std::string stringValue = "Hello"; // Calls the third version of processValue processValue(intValue, stringValue); // Calls the forth version of processValue processValue(stringValue, intValue); }
Rappelez-vous
Pour surcharger une fonction, elles doivent avoir le même nom
Merci pour vos commentaires !