O exercício pede que se faça a realocação de um array, caso o mesmo já esteja cheio.
Não sei se resolvi o exercício da melhor forma. Então criei o tópico para receber algumas críticas.
class Empresa {
String nome;
String cnpj;
Funcionario[] empregados = new Funcionario[10];
int contador;
void adiciona(Funcionario f) {
if (contador == this.empregados.length) {
Funcionario[] temp = new Funcionario[this.empregados.length + 10];
for (int i = 0; i < this.empregados.length; i++) {
temp[i] = this.empregados[i];
}
this.empregados = temp;
}
this.empregados[contador++] = f;
}
}