Funktioiden Ylikuormitus
Pyyhkäise näyttääksesi valikon
Funktioiden ylikuormitus mahdollistaa useiden samannimisten funktioiden määrittelyn samalla alueella, kunhan niiden parametrit eroavat toisistaan. Tämän avulla voidaan luoda funktioita, jotka suorittavat samankaltaisia tehtäviä, mutta käsittelevät erilaisia tietotyyppejä tai eri määrän parametreja. Ylikuormitus parantaa koodin luettavuutta, uudelleenkäytettävyyttä ja joustavuutta.
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); }
Näillä funktioilla on samat argumenttityypit, mutta argumenttien järjestys funktiosignatuurissa on eri.
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); }
Huomautus
Ylikuormituksen edellytyksenä funktioilla täytyy olla sama nimi.
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 4. Luku 1
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Osio 4. Luku 1