Sì, funziona anche senza il virtual...erano reminescenze di tempi lontani in cui (non so bene se con Delphi o il C++) se non dichiaravo il distruttore virtual non veniva chiamato. Probabilmente con i nuovi conpilatori va come deve andare (cioè senza il virtual)
Certo che ritorna un valore...un reference alla porte di atleta presente in calciatore...il fatto che però lo ritorni non significa nulla...non lo usi perchè in effetti quello che ti interessa non è il valore di ritorno ma l'operazione dell'operatore
Scrivere
codice:
atleta *p;
p=this;
*p=obj;
credo che sia la stessa cosa...prendi la parte atleta di calciatore e poi richiami l'operatore ==. Credo che sia la stessa cosa (se funziona )