Bom dia,
Quando você instanciar a classe Empresa, terá que criar um array e setar no atributo, tendo então a definição de tamanho, ou você faz isso na própria declaração, para ser automático quando instancia:
class Empresa {
String nome;
String cnpj;
String endereco;
Funcionario empregados[] = new Funcionario[10];
int livre = 0;
void adiciona(Funcionario f) {
this.empregados[this.livre] = f;
this.livre++;
}
}
Dessa forma, você já sabe o tamanho do array ao instanciar, e já sabe que o livre inicia no zero, assim adicionando um elemento, faz colocar no índice 0, e o valor de livre vai para 1. O próximo adiciona vai no índice 1, e livre vai para 2, e assim por diante.
Lembre-se que você ainda está no básico, depois verá meios de deixar tudo mais dinâmico.
Abraços.