Class Frazione
{
friend Frazione Somma(Frazione);
- "friend Frazione" indica il tipo di dato restituito dalla funzione friend
- "(Frazione)" indica il tipo di parametro che verrà passato alla funzione, è possibile tralasciare nel prototipo dell funzione il parametro
- Una funzione friend i posiziona prima di ogni altra funzione
- Le funzioni friend possono essere utilizzate solo dai membri della classe, non sono raggiungibili dal main()
- Una funzione friend è raggiungibile solo dall'oggetto stesso, non da altri oggetti di stessa tipologia
int num;
int den;
}
Come va implementata una funzione friend:
Frazione Somma (Frazione a)
{
...
...
...
}
Se non fosse un metodo friend invece utilizzeremmo la sintassi:
Frazione::Somma (Frazione a)
{
...
...
...
}
Istruzione "operator":
E' possibile sostituire alla parola somma l'operatore di somma "+", per farlo utilizzo l'istruzione "operator" seguito dall'operatore matematico (nel nostro caso +):
Frazione operator + (Frazione a)
{
...
...
...
}
che implementato all'interno del main() mi permetterà di utilizzare due oggetti come se fossero due numeri, vediamo l'esempio:
main()
{
Frazione a(5,3);
Frazione b(3,2);
Frazione c;
c=a+b;
}
*!* l'istruzione "operator" può essere utilizzato anche con gli altri operatori matematici + - += -= > < / * ...
Nessun commento:
Posta un commento