Přetěžování funkcí (function overloading)
Přetížené funkce (overloaded functions) jsou takové, které nesou stejný název, ale liší se formálními parametry. Kompilátor pak během kompilace rozhodne, která verze přetížené funkce bude volána na základě skutečných parametrů.
Příklady přetížených funkcí
Uvedeny jsou pouze hlavičky funkcí bez jejich implementace.
// Properly overloaded functions void foo(int a, int b); void foo(double a, double b); void foo(int a); int foo(); // NOT properly overloaded functions int bar(int a); double bar(int a);
Ukázka včetně implementace
int soucet(int l, int p) { return l + p; } double soucet(double l, double p) { return l + p; } int main() { double v1 = soucet(5.5, 4.0); int v2 = soucet(-3, 12); return 0; }
Úlohy k procvičení
- Délka 2D a 3D vektoru
- Vzdálenost dvou bodů v rovině a prostoru