Ciao a tutti ragazzi..ho un problema con il polimorfismo in C++ e non ne vado fuori!
Ho una classe chiamata Musicista e un'altra classe chiamata Strumento con un parametro interno chiamato "Attributo".
Dichiaro le classi Chitarra e Pianoforte così:
Poi all'interno di Musicista ho un'array privato di Strumento chiamato "strumenti_conosciuti".codice:class Chitarra: public Strumento{ }; class Pianoforte: public Strumento{ };
Quello che non riesco a fare è questo: voglio prelevare da un file una lista con gli strumenti che il musicista sa suonare...es.
Quindi quello che cerco di fare è creare dimanicamente degli oggetti Strumento e metterli nell'array "strumenti_conosciuti".codice:Strumento:Chitarra Attributo:Elettrica Strumento:Chitarra Attributo:Acustica Strumento:Pianoforte Attributo:A coda etc..
In questo caso il codice scritto a mano sarebbe:
Non ho la più pallida idea però di come si possano creare dinamicamente oggetti di tipo diverso! Che dite?codice:vector <Strumento> strumenti_conosciuti; strumenti_conosciuti.push_back(new Chitarra("Elettrica")); strumenti_conosciuti.push_back(new Chitarra("Acustica")); strumenti_conosciuti.push_back(new Pianoforte("A coda"));