Sunteți pe pagina 1din 1

Funcţii supraîncărcate (overload) sau Redefinirea funcţiilor

Funcţiile supraîncăracate permit ca seturi de funcţii înrudite să fie accesibile sub acelaşi nume.
Restricţie importantă: când supraîncărcaţi o funcţie tipul şi/sau numărul de parametri ai fiecărei funcţii
supraîncărcate trebuie să difere şi nu doar tipul returnat de ele; deoarece tipul returnat nu asigură suficiente
informaţii în toate cazurile pentru ca un compilator să decidă ce funcţie să folosească.
Sfat: în practică supraîncărcaţi doar funcţii strîns legate între ele.

#include<iostream.h>

int abs(int i)
{
return i<0? -i : i;
}

double abs(double d)
{
return d<0 ?-d : d;
}

long abs(long l)
{
return l<0 ? -l : l;
}

void main()
{
cout<<abs(-10)<<endl;
cout<<abs(-11.0)<<"\n";
cout<<abs(-9L)<<"\n";
}

Pentru următorul exemplu vezi “03. Supraîncărcarea operatorilor.doc” din directorul curent.

S-ar putea să vă placă și