Overloading: differenze tra le versioni

m
m (Robot: Automated text replacement (-([Pp]erch)è +\1é))
m (→‎Overloading degli operatori: corretto wikilink)
 
==Overloading degli operatori==
Prendiamo in considerazione il seguente esempio [[Linguaggio C Plus Plus|C++]]: una classe che rappresenta i [[numeri complessi]] (sono omesse le implementazioni del file .cpp)
<nowiki>
class Complex {
cout << c;
</nowiki>
solleverebbe un errore di [[compilazione]], in quanto il [[compilatore]] non è in grado di valutare da solo se il complesso c è minore di d, nè tantomeno di scriverlo a video. La soluzione, adottabile '''solo''' in, [[C plus plus|C++]] e [[C sharp|C#]] è quella di definire un opportuno sovraccarico per gli operatori ''<'' e ''<<''. Per fare ciò è necessario conoscere come il compilatore dei linguaggi C tratta le espressioni con operatore. Esso le traduce con una chiamata a subroutine operator?(), dove al posto di ''?'' va il simbolo dell'operatore. Ecco quindi i prototipi di una completa famiglia di overloading per gli operatori principali di confronto e output.
NOTA: è richiesto l'utilizzo della [[libreria]] Math
<nowiki>