Escolar Documentos
Profissional Documentos
Cultura Documentos
VPL 2 Listas
VPL 2 Listas
id=121275
Neste exercício você deverá completar as classes List e Node. A classe List representa uma lista encadeada de inteiros. Cada elo dessa lista
é uma instância da classe Node:
class Node {
private:
int _data;
Node * _next;
public:
Node(int data, Node* next);
void setData(int data);
void setNext(Node *next);
/** Returns the data stored in the node.
@returns the integer stored in the node.
*/
int getData() const;
/** Returns the next node.
*/
Node* getNext() const;
};
class List {
public:
List();
1 of 3 09/09/2020 19:30
2020_1 - PROGRAMAÇÃO E DESENVOLVIMENTO DE SOFTW... https://virtual.ufmg.br/20201/mod/vpl/view.php?id=121275
Você deverá completar todas as funções que possuem declaração mais não possuem corpo. Fique à vontade para criar funções auxiliares (e
privadas) e atributos dentro das classes List e Node. Tenha em mente que o principal objetivo desse exercício é aplicar o princípio de
encapsulamento. Você deve enviar os arquivos .cpp e .hpp para as classes List e Node e o arquivo main.cpp. Para testar sua implementação,
utilize a função main abaixo:
Atenção: O seu programa será avaliado automaticamente em relação a saída, e manualmente para o erro de memory leak utilizando
o Valgrind. Alunos que não resolverem problemas relacionados a memory leak serão penalizados no valor da nota final. Utilize o botão
'Depurar' para acessar o GDB e visualizar a saída do Valgrind.
$ cat t0.txt
2 3 5 7 11 0
$ ./a.out < t0.txt
s:5, m:5, l:2, r:11, m:3, l:2, m:2, l:7
$ cat t1.txt
2 3 5 7 11 13 17 19 23 29 31 37 0
$ ./a.out < t1.txt
s:12, m:13, l:2, r:37, m:13, l:2, m:11, l:31
2 of 3 09/09/2020 19:30
2020_1 - PROGRAMAÇÃO E DESENVOLVIMENTO DE SOFTW... https://virtual.ufmg.br/20201/mod/vpl/view.php?id=121275
$ cat t2.txt
1 2 3 4 5 6 7 8 9 0
$ ./a.out < t2.txt
s:9, m:5, l:1, r:9, m:4, l:1, m:3, l:8
VPL
◄ Quiz - Encapsulamento (1,0 pt) Seguir para... Vídeo 8 - Herança - Parte 01/02 ►
3 of 3 09/09/2020 19:30