Surcharge de fonctions
Glissez pour afficher le menu
La surcharge de fonctions permet de définir plusieurs fonctions portant le même nom mais ayant des paramètres différents dans une même portée. Elle offre la possibilité de créer des fonctions qui accomplissent des tâches similaires tout en pouvant gérer différents types de données ou nombres de paramètres. La surcharge améliore la lisibilité, la réutilisabilité et la flexibilité du code.
main.cpp
1234567891011121314151617181920212223242526#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 apparaissent dans un ordre différent dans la signature de la fonction.
main.cpp
1234567891011121314151617181920212223242526#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); }
Pour surcharger la fonction, elles doivent avoir le même nom.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion