C++ como usar uma priority_queue de diferentes tipos?

OubeLa

Power Member
Eu queria ter uma priority_queue ou uma deque ou qualquer coisa, mas de diferentes tipo. Tenho uma class base (clientes normais), e tenho duas classes derivadas (alunos e professores), e precisava de os colocar numa fila. Como só posso ter uma fila, preciso de colocar lá os 3 tipos de clientes.

priority_queue<tipo_de_dados> aMinhaQueue;

pensei em fazer isto com templates, mas nem assim estou a conseguir, porque depois ao chamar nao consigo chamar o construtor da classe. Agradecia ajuda :)
 
Esse um bom exemplo de polimorfismo. Dessa forma consegues colocar "diferentes" objectos, numa priority_queue. Neste caso crias uma classe Cliente, ou algo parecido, e todos os outros surgem por herança. Dessa forma podes fazer uso do polimorfismo e criar uma Priority_Queue<Cliente>.
Tenta ver isso mais a fundo, eu já não me recordo muito bem... :p
 
colocar o diagrama de classes era uma ajuda bestial, do genero se tiveres algo do genero, professor e aluno herdam de pessoa e keres por pessoa, professor e aluno na p_queue parece bastante simples, mas nao estou a entender como e que é o teu diagrama...
 
Back
Topo