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 2025