Minhavazia cout minharemoveprimeiro endl else cout

This preview shows page 113 - 115 out of 243 pages.

if (!minha.vazia()) cout << (*minha.remove_primeiro()) <<endl; else cout << "NULL, Lista vazia." <<endl; break; case 'M': case 'm': minha.mostra(); break; case 'E': case 'e': cout << "Entre elemento:"; cin >>el; cout << minha.contem(el); break; case 'V': case 'v': cout << minha.vazia(); break; default: ; } //switch-case code block } while ((option!='Q') && (option!='q')); //menu loop code block return 0; } //main code block ------------------------------------------------------------------------ Comentários: Note que o programa principal só testa a lista ordenada, em outros programas exemplo baseados neste veremos testes para a lista_ultimo. 113
Image of page 113

Subscribe to view the full document.

Exercícios: 1)Experimente derivar (criar classes herdeiras) outras classes lista com propriedades de seu interesse tais como obtenção de sublista. 2)Introduza na classe lista a contagem do número de elementos numa lista. 3)Crie uma função membro chamado void remove_todos(void); que simplesmente deixa a lista vazia. *4)Suponha que você é um programador de uma empresa e teve que implementar a hierarquia de listas para seu grupo de desenvolvimento, segundo uma especificação dada pelo seu chefe. Você introduziria as mudanças sugeridas nos exercícios anteriores, mesmo sabendo que elas não estavam na especificação? Que dificuldade um usuário de sua classe lista teria para introduzi-las caso surgisse a necessidade e você não tivesse feito? Discuta as seguintes maneiras de um programador de seu grupo conseguir o efeito desejado de adicionar as sugestões dos exercícios anteriores a hierarquia: usar herança (derivar uma classe com void remove_todos(void) ), alterar o código original, pedir para você o programador do código original mudar a implementação. Lembre-se que pode existir mais de um programador usando a versão original da hierarquia de listas. 2.2. HIERARQUIAS DE IMPLEMENTAÇÃO Nossas hierarquias de implementação em termos de código (herança) não são hierarquias, usamos delegação para obter pilhas a partir listas. Agregamos uma lista em nossas classes e usamos esta lista de acordo com a lógica envolvida. Tudo o que fizemos poderia ser feito usando herança private, o que justificaria o título "hierarquias de implementação", embora tornasse o nosso texto menos acadêmico. 2.2.1. FILA A PARTIR DE UMA LISTA Reuso de código de uma lista ligada 2.1 para a implementação de uma fila através de agregação. Para podermos declarar e usar um objeto lista na nossa classe fila precisamos conhecer sua interface. Sabemos que nosso objeto lista permite inserir em ambas extremidades, inicio e fim da lista, mas só permite remoções em um extremo, o inicio. Como uma fila permite inserções somente num extremo e remoções nos extremo oposto, precisaremos usar nossa lista da seguinte forma: inserção no final da lista e remoções no começo. Seguem abaixo exemplos de chamadas de funções membro da classe lista implementada em 2.1 para trabalhar com números inteiros.
Image of page 114
Image of page 115

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern