Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Funktionsoverbelastning | Nogle Avancerede Emner
C++ Funktioner

Funktionsoverbelastning

Stryg for at vise menuen

Funktionsoverbelastning tillader flere funktioner med samme navn, men forskellige parametre, at blive defineret inden for samme scope. Det gør det muligt at oprette funktioner, der udfører lignende opgaver, men kan håndtere forskellige datatyper eller antal parametre. Overbelastning forbedrer læsbarhed, genanvendelighed og fleksibilitet i koden.

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

Disse funktioner har de samme argumenttyper, men disse argumenter har en anden rækkefølge i funktionssignaturen.

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
Bemærk

For at overloade funktionen skal de have det samme navn.

question mark

Hvilket af følgende beskriver bedst funktionsoverbelastning i C++?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 1
some-alt