Originally Posted by
Axet
No non me lo faceva aggiungere, cmq ho abdicato.
Faccio un progetto console normalissimo e lo presento al prof, se vuole DOPO glielo trasformo in dll in qualche cazzo di maniera (magari mi illumina lui su come fare, anche se ho già avuto un'idea che in teoria mi risolverebbe tutti i problemi di sto tipo, ma per ora chissene mi sto sbattendo ad implementare).
Btw visto che sto appunto implementando, non esiste un container non tipizzato in c++ come ad esempio le collection in java? :O
Mi serve una struttura dati che mi tenga dentro N elementi di tipo eterogeneo, l'unica cosa carina che ho trovato è il vector che però purtroppo è tipizzato. La mia speranza era quella di dichiarare un vector della classe padre e sperare che non rompesse i coglioni quando lo riempivo di oggetti di classi figlie.. difatti sulla push non rompe, il problema è quando cerchi di reperire i dati dal vector scopri che son magicamente diventati di tipo "classe padre".. non so se mi spiego :D
Un container più intelligente non esiste? t_T
edit:
per spiegarmi meglio, se io dichiaro:
vector<animale> x;
e poi faccio
x.push_back(new cane());
me lo genera e non rompe le palle.. se però vado a cercare di accedere direttamente all'ultimo oggetto inserito, cioè un oggetto di tipo cane, nella seguente maniera:
x.back()->"metodo random"; i metodi/attributi che mi mostra e che posso usare sono quelli della classe padre.
Difatti provo a reperire l'oggetto così:
cane* y = x.back();
mi da errore in compilazione in quanto impossibile convertire da animale a cane.. t_T