|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
[c++] coda derivata da lista
Devo implementare una classe coda:
![]() La mia soluzione é questa: Codice:
Class coda : private list<Persona>{ Public: Void push(Persona &p); Void pop(Persona &p); Void size(); }; 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? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Up
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
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.
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Ho sbagliato a scrivere.. Volevo ereditare da list<Persona>
Comunque ha senso avere un costruttore in una classe astratta? |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
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. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:18.