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ì:

codice:
class Chitarra: public Strumento{

};

class Pianoforte: public Strumento{

};
Poi all'interno di Musicista ho un'array privato di Strumento chiamato "strumenti_conosciuti".

Quello che non riesco a fare è questo: voglio prelevare da un file una lista con gli strumenti che il musicista sa suonare...es.

codice:
Strumento:Chitarra
Attributo:Elettrica

Strumento:Chitarra
Attributo:Acustica

Strumento:Pianoforte
Attributo:A coda

etc..
Quindi quello che cerco di fare è creare dimanicamente degli oggetti Strumento e metterli nell'array "strumenti_conosciuti".

In questo caso il codice scritto a mano sarebbe:

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"));
Non ho la più pallida idea però di come si possano creare dinamicamente oggetti di tipo diverso! Che dite?