In C ++ permette la possibilità dell ' overloading delle funzioni , comprese quelle della libreria standard , ossia di definire funzioni con lo stesso nome ma con una lista di parametri differente ( diversa segnatura )
Il compilatore in fase di run-time in base al tipo ed al numero dei loro argomenti è in grado di distinguere quale delle funzioni chiamare ( binding dinamico )
Non è possibile scrivere funzioni che differiscano unicamente per il tipo del valore di ritorno perchè in questo caso il compilatore non potrebbe discernere quale funzione chiamare
Esercizio : Eseguire in minimo fra due numeri indipendentemente dal loro tipo utilizzando l ' overloading :
FUNZIONI
PROCEDURE int minimo ( int x , int y ); ma anche void minimo ( int x , int y , int * z ) float minimo ( float x , float y ); ma anche void minimo ( float x , float y , float * z )
N . B . Anche nel linguaggio C ++ ( come nel linguaggio C ) i sottoprogrammi si chiamano sempre " funzioni ".
Linguaggio C ++: peculiarità – l ' overloading delle funzioni
In C ++ permette la possibilità dell ' overloading delle funzioni , comprese quelle della libreria standard , ossia di definire funzioni con lo stesso nome ma con una lista di parametri differente ( diversa segnatura )
Il compilatore in fase di run-time in base al tipo ed al numero dei loro argomenti è in grado di distinguere quale delle funzioni chiamare ( binding dinamico )
Non è possibile scrivere funzioni che differiscano unicamente per il tipo del valore di ritorno perchè in questo caso il compilatore non potrebbe discernere quale funzione chiamare
Esercizio : Eseguire in minimo fra due numeri indipendentemente dal loro tipo utilizzando l ' overloading :
FUNZIONI
PROCEDURE int minimo ( int x , int y ); ma anche void minimo ( int x , int y , int * z ) float minimo ( float x , float y ); ma anche void minimo ( float x , float y , float * z )
N . B . Anche nel linguaggio C ++ ( come nel linguaggio C ) i sottoprogrammi si chiamano sempre " funzioni ".
Autore : Prof . Rio Chierego Aprile 2024