Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ListaEnc.hpp"
- // "Copyright [2016] <Salvatore Amore>"
- template<typename T>
- class PilhaEnc : private ListaEnc<T> { // herda a Lista Encadeada
- public:
- PilhaEnc() : ListaEnc<T>() {} // construtor herdado da Lista Encadeada
- ~PilhaEnc() {}
- void empilha(const T& dado) { // coloca o dado na ultima posição da estrutura
- ListaEnc<T>::adicionaNoInicio(dado); // heranca da Lista Encadeada
- }
- T desempilha() { // retira o ultimo elemento a entrar (LIFO)
- return ListaEnc<T>::retiraDoInicio();
- // heranca da Lista Encadeada, mesma funcao
- }
- T topo() { // mostra o elemento da ultima posição da estrutura
- T desempilhado = desempilha();
- // variavel template que armazena o dado do ultimo elemento
- empilha(desempilhado);
- // reempilha a variavel desempilhada no lugar onde se encontrava inicialmente
- return desempilhado;
- // retorna a variavel desempilhada
- }
- void limparPilha() { // destroi todos os elementos da estrutura
- ListaEnc<T>::destroiLista(); // heranca de Destroi Lista da Lista Encadeada
- }
- bool PilhaVazia() { // verifica se a pilha se encontra vazia
- return ListaEnc<T>::listaVazia(); // herdado da Lista Encadeada
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement