1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C++ como usar uma priority_queue de diferentes tipos?

Discussão em 'Programação' iniciada por OubeLa, 1 de Dezembro de 2007. (Respostas: 3; Visualizações: 718)

  1. OubeLa

    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 :)
     
  2. Consu

    Consu Power Member

    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
     
  3. xinituh

    xinituh Power Member

    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...
     
  4. OubeLa

    OubeLa Power Member

    Obrigado :D

    Já consegui resolver o problema usando polimorfismo.
     

Partilhar esta Página