Newsgroup: it.comp.lang.c++
Titolo: (AIUTO TESI) Classi derivate e operatori overloaded

Salve a tutti,
una domanda nuova.
Se nell'esempio che vi allego qui in basso, ( e che ho utilizzato per il
problema col costruttore di copia, e che, almeno credo, ho risolto definendo
una variabile locale al costruttore di tipo costante
const int SIZE=rou_f.Size();
 )
per la classe derivata devo definire l'operatore di assegnazione come la
metto con la classe base?
Se definisco l'operatore assegnazione per la classe base, al momento della
chiamata dell'operatore = per la classe derivata si chiama automaticamente
anche quello della base-class ?
Insomma, funziona come per i costruttori di default, cioè se chiamo il
costruttore di default della classe derivata automaticamente si chiama prima
quello della classe base?
Oppure devo chiamarlo io con una sorta di initialitation list ?!?
Vi prego rispondetemi qualcosa....
Sebastiano

Oppure devo chiamarlo io con una sorta di initialitation list ?!?
Non esiste una initialization list per l'operatore di assegnazione;
l'assegnazione della parte 'base' viene fatta nel codice della
funzione di assegnazione e normalmente si usa invocare l'operatore
di assegnazione della base con la sintassi:
    Base::operator=(d); 
Se 'd' e' un "const Derived&" infatti il compilatore puo' effettuare
la conversione automatica a "const Base&".
La initialization list con chiamata esplicita del costruttore di
copia per la parte base si usa nel costruttore di copia per la
classe derivata.
Spero di non aver aumentato la confusione :)
Andrea
--
Andrea Griffini, Programmer
http://www.netservers.com/~agriff


[CUT]
Non vorrei sembrare brusco, ma su che manuale stai studiando
il C++?
Molti dei tuoi dubbi si risolverebbero tramite la lettura di un
buon testo sul C++ ed un poco di pratica.
Oppure conosci bene il C ma ti è stato detto di svolgere
il tuo programma in C++ e non hai tempo di impararlo?
Comunque tieni conto che la lettura di un testo ti risparmierebbe
molto tempo, poi puoi sempre postare questioni che non ti sono chiare.
Manlio Perillo

Salve,
capisco lo spirito della tua risposta.
Si è vero, conosco (chiaramente si fa per dire) il C e devo svolgere il
lavoro in C++ ma,
proprio qualche settimana fa Nicola Musatti mi faceva sostanzialmente notare
la stessa cosa, cioè che si tratta spesso di dubbi banali, a volte meno.
Comunque rispondo a te quello che ho risposto a Nicola Musatti. Io vi
ringrazio anzitutto per la vostra continua attenzione ai miei post, ma se
pongo domande "sceme" lo faccio per avere un riscontro sicuro, e tengo a
sottolineare sicuro vista la vostra preparazione, di ciò che stò facendo.
Tieni conto che è da circa 4 o 5 mesi che programmo in C++ per la prima
volta e già mi ritrovo in mano con una tesi che sfonda le 2000 righe di
codice, con ereditarietà , composizione, overloading e quant'altro è nuovo
per uno che è abituato a pensare "alla C".... in più a questo spesso si
aggiunge l'algoritmo che devo implementare per il simulatore della mia tesi,
che, ti assicuro, non è banale, anzi... ancora ci sono ricerche in corso da
parte dell' IETF su ciò che stò facendo, senza essere giunti,e parliamo a
livello mondiale nella comunità scientifica, ad una soluzione decente....
Per cui tu al mio posto che faresti ?
Io cerco amici di discussione, perchè tali veramente vi siete rivelati e lo
siete effettivamente, con cui chiaccherare delle mie rogne..
:-)))
Bye,
Sebastiano
P.S.
Ho Thinking in C++ 2° ed. + Tutorial di Paolo Marotta+ FAQ+ Libro cartaceo
"Programmare in C++ ", Stephen Blaha... insomma di materiale ne ho tanto...
sta a vedere se faccio poi le cose per bene.