Funktionsöverlagring
Svep för att visa menyn
Funktionsöverlagring tillåter flera funktioner med samma namn men olika parametrar att definieras inom samma omfång. Det möjliggör skapandet av funktioner som utför liknande uppgifter men kan hantera olika datatyper eller antal parametrar. Överlagring förbättrar kodens läsbarhet, återanvändbarhet och flexibilitet.
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); }
Dessa funktioner har samma argumenttyper, men argumenten har en annan ordning i funktionssignaturen.
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); }
Notera
För att överlagra funktionen måste de ha samma namn.
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 4. Kapitel 1
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Avsnitt 4. Kapitel 1