1.a)
elos já não é necessária, pois os elos passam a
    ser variáveis dinâmicas.  Os elos da lista deixarão de estar
    reservados a priori como elementos de uma matriz, passando a ser instâncias
    dinâmicas, construídas e destruídas quando for conveniente.ListaDeAluno::reservaElo() e ListaDeAluno::libertaElo() deixam
    de ser necessárias, pois as tarefas de gestão de memória passam para as mãos
    do sistema operativo.  Os operadores new e delete
    substituem essas operações.1.b).  Ver lista_de_aluno.H,
lista_de_aluno_impl.H
e lista_de_aluno.C.
1.c), 1.d) e 1.e) A transferência passa a ser feita através da simples manipulação de seis ponteiros.
2.a) e 2.b)  Ver lista_de_ponteiro_aluno.H,
lista_de_ponteiro_aluno_impl.H,
lista_de_ponteiro_aluno.C
e ordena_alunos.C.
2.c)  Quem destrói os alunos é quem os construiu: a função main().
2.d) Pouco. Procurar endereços numa lista não é, em geral, muito útil!
3.  Ver lista_de_aluno.H,
lista_de_aluno_impl.H
e lista_de_aluno.C.