View Single Post
Old 25-06-2014, 18:49   #3
vendettaaaaa
Senior Member
 
L'Avatar di vendettaaaaa
 
Iscritto dal: Jan 2012
Messaggi: 1267
Quote:
Originariamente inviato da mistergks Guarda i messaggi
Ho capito l importanza e lo scopo della ridefinizione degli operatori per gli oggetti.

Quello che non capisco è come farlo.

Ad esempio l'operatore + ha un solo parametro.
Non servirebbero due parametri?
Tipo se io volessi fare l'operazione a+b... Non è come richiamare la funzione operator+(a,b) ?
Fai come t'ha detto Kendall, oppure:

Codice:
class A
{
private:
    int b;
    friend int operator+(const A& left, const A& right);
};

// FUORI dalla classe
inline
int operator+(const A& left, const A& right)
{
    // Questo operatore è stato dichiarato friend così può accedere al membro private degli oggetti di classe A, cioè b
    return left.b + right.b;
}
A quanto ho capito non c'è un metodo migliore...ma non ho investigato molto. Io preferisco i metodi NON membri.

Ultima modifica di vendettaaaaa : 25-06-2014 alle 18:54.
vendettaaaaa è offline   Rispondi citando il messaggio o parte di esso