1. Ver Capítulo 9 das Folhas Teóricas.
1.a)  c++ [opções] -E -o aluno_tudo_junto.ii aluno_tudo_junto.C
1.b)  c++ [opções] -c aluno_tudo_junto.C
1.c) Não. É um ficheiro objecto.
1.d)  c++ [opções] -o aluno_tudo_junto aluno_tudo_junto.o
1.e)  c++ [opções] -o aluno_tudo_junto aluno_tudo_junto.C
2. Ver Capítulo 9 das Folhas Teóricas.
3.a)  A ideia é "esquecer" a protecção contra a inclusão
múltipla, pois será colocada no exercício 5.  Ver ex3a/aluno.H,
ex3a/aluno_impl.H,
ex3a/aluno.C
e ex3a/teste_de_aluno.C.
3.c)  Ver ex3c/aluno.C.
5.a)  Ver ex5/Makefile.  
5.b)  O erro deve-se à inclusão múltipla do ficheiro aluno.H. 
Por outro lado, o módulo pauta também não tem essa protecção!  Ver ex5/aluno.H
e ex5/pauta.H.
6. Ver Capítulo 9 das Folhas Teóricas.
6.c)  Usar espaços nominativos Escola e Musica. 
Notar mudança no nome das macros de protecção de inclusão múltipla. 
Notar que o nome da macro de protecção de inclusão múltipla da pauta musical
muda!  Quanto à tuna, tem a ver com escolas e com música, mas é melhor
simplesmente colocá-la no espaço nominativo Escola.
O ficheiro de construção pode ser construído parcialmente com o comando:
c++ -MM *.C
Ver ex6c/Makefile,
ex6c/aluno.H,
ex6c/aluno_impl.H,
ex6c/aluno.C, ex6c/pauta.H, ex6c/pauta_impl.H,
ex6c/pauta.C, ex6c/pauta_musical.H, ex6c/pauta_musical_impl.H,
ex6c/pauta_musical.C, ex6c/tuna.H, ex6c/tuna_impl.H,
ex6c/media.C, ex6c/procura.C, ex6c/teste_de_pauta.C
e ex6c/teste_de_pauta_musical.C. 
7. Ver Capítulo 9 das Folhas Teóricas. Por vezes os espaços nominativos correspondem a bibliotecas.
7.d) O comando a usar é:
ar ru libescola.a aluno.o pauta.o
7.e) Pode-se usar:
c++ [opções] -o teste_de_pauta_musical teste_de_pauta_musical.o pauta_musical.o libescola.a
ou ainda:
c++ [opções] -o teste_de_pauta_musical teste_de_pauta_musical.o pauta_musical.o -L. -lescola