Documente Academic
Documente Profesional
Documente Cultură
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.