Allora studiando la ridefinizione degli operatori mi sono imbattuto in un problema....
Avendo definito una classe c:

ridefinizione operatore <<(prototipo):
ostream& operator<<(ostream& out,const C& c);

ridefinizione operatore >>(prototipo):
istream& operator>>(istream& in,C& c);

Io sono riuscito a implementare l'overload del <<:

ostream& operator <<(ostream& out, const A& a){
out<<a.membro_A //Con membro_A un membro della classe A
return out;
}

Quello dell'operatore >> invece?...io ho provato così:

istream& operator >>(istream& in,A& a){
in>>a.membro_A
return in;
}

Va bene???...o si fa diversamente?

Grazie per le risposte!!!