PDA

View Full Version : [c++] coda derivata da lista


mistergks
06-06-2015, 18:36
Devo implementare una classe coda: http://images.tapatalk-cdn.com/15/06/06/e0990ed2488e9b0c50833443369504e5.jpg

La mia soluzione é questa:

Class coda : private list<Persona>{
Public:
Void push(Persona &p);
Void pop(Persona &p);
Void size();
};


Questa è l'interfaccia della classe.
Ho problemi a pensare un modo per risolvere la funzione di estrazione pop()..
Posso scorrere la lista con un for e inserire una condizione if che verifichi se quella persona sia considerata furba o no.

Poi, peró, come faccio a far guadagnare una posizione a chi é furbo?

mistergks
07-06-2015, 01:01
Up

AnonimoVeneziano
07-06-2015, 06:05
Non vedo proprio il motivo di ereditare da "std::list". Al massimo se vuoi riutilizzare std::list includila come componente, ma non ereditare.

E' anche sbagliato concettualmente visto che std::list non ha un distruttore virtual.

mistergks
11-06-2015, 18:38
Ho sbagliato a scrivere.. Volevo ereditare da list<Persona>


Comunque ha senso avere un costruttore in una classe astratta?

tomminno
12-06-2015, 10:25
Non ereditare da std::list o qualunque altro container della libreria standard!

Il costruttore se non ce lo metti te lo crea di default il compilatore. Se non ti serve per le inizializzazioni lascia fare al compilatore.