[c++] Dubbio su cast

bandido
Buonasera
mi trovo in questa condizione:
class A  
 //....
class B:public class A
 //...
class C:public class B
 //...

vector<A*>* v //contenete oggetti di tipo B


ora io voglio eseguire l'upgrade di uno o tutti gli oggetti contenuti in v e farli diiventare di tipo C.
è giusto fare così?:
for (it=v->begin();it!=v->end();it++) static_cast <C>(**it);

o devo creare un oggetto C contenente B, cancellare l'oggetto in classe B esistente, rimpiazzarlo col nuovo C ?

spero si sia capito :shock:

Risposte
duombo
non so se in c++ è permesso ma generalmente la modifica di una collection (anche se un vettore) in un ciclo iterativo non è mai un operazione consigliata, sarebbe meglio la creazione di un nuovo oggetto C in cui inserisci gli elementi di B castati a C imho

bandido
hum!
grazie

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.