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
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<