Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Funktioiden Ylikuormitus | Joitakin Edistyneitä Aiheita
C++-Funktiot

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

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

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); }
Note
Huomautus

Ylikuormituksen edellytyksenä funktioilla täytyy olla sama nimi.

question mark

Mikä seuraavista kuvaa parhaiten funktioiden ylikuormitusta C++:ssa?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 1

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 4. Luku 1
some-alt