ciao.
E' un po che programmo in c++ e un po che ho questo dubbio:
quando voglio farmi restituire un oggetto da una funzione faccio cosi:
il casino è questo:codice:void classe::myFunc(&oggetto); e nella dichiarazione: void myFunc(oggetto * obj){implementazione};
se instanzio un oggetto
e poi ad es all'interno di un ciclo chiamo la mia funzione passando quell'oggetto:codice:oggetto * pOggetto = new oggetto();
ed inserisco il tutto in un array.
alla fine mi ritrovo un array con tutti gli oggetti uguali , è giusto?codice:oggetto * pOggetto = new oggetto(); while(indice<MAXINDICE) { myFunc(&pOggetto); myArray.add(pOggetto); }
perchè passo il riferimento dell'oggetto all'array, ma il riferimento è lo stesso , perchè dichiaro lo dichiaro una sola volta fuori dal ciclo.
come faccio ad avere un array con gli oggetti giusti?ossia passando all'array il valore dell'oggetto e non il riferimento all'oggetto?
Il tutto stà secondo me nella posizione dove si dichiara l'oggetto:
tipo , questo è un approccio giusto ?
o è meglio fare in altir modi?codice:while(indice<MAXINDICE) { oggetto * pOggetto = new oggetto(); myFunc(&pOggetto); myArray.add(pOggetto); }
voi cosa mi consigliate ?perchè ,mi viene il dubbio ad es di dichiarare il puntatore all' interno della funzione che chiamo ,ma non so se poi all' uscita è valido!!
grazie.

Rispondi quotando