Utilizzare l’ereditarietà per realizzare la classe CodaConGentleman che implementa una coda di persone in cui, ad ogni estrazione, se il prossimo da servire è un uomo, questo “fa il gentleman” e lascia passare tutte le donne in coda tra lui e l’uomo successivo. Si supponga che la classe persona abbia un metodo che consenta di distinguere il sesso. In particolare: (a) si implementi l’interfaccia della classe e i soli metodi di inserimento/estrazione.
QUesto è quello ke ho fatto fino ad ora?? come potrei fare?? vi prego aiutatemi è importante!!codice:#ifndef CODACONGENTLEMAN_H_INCLUDED #define CODACONGENTLEMAN_H_INCLUDED #include"Persona.h" #include<list> class CodaConGentleman : private list<Persona> { private: public: void push(Persona& p) { list<Persona>::push_back(p); } Persona& pop() { list<Persona>::iterator x = list<Persona>::begin(); Persona daEstrarre = (*x); for(list<Persona>::iterator it=list<Persona>::begin();it!=list<Persona>::end();it++) { if((*it).IsGentleman() == true) { for(list<Persona>::iterator jt=it++;jt!=list<Persona>::end();jt++) { if((*jt).IsGentleman() == false) { } } } list<Persona>::pop_front(); return daEstrarre; } friend ostream& operator<<(ostream& out,const CodaConGentleman& c) { for(list<Persona>::const_iterator it=c.list<Persona>::begin();it!=c.list<Persona>::end();it++) { out<<(*it)<<endl; } return out; } }; #endif // CODACONGENTLEMAN_H_INCLUDED

Rispondi quotando