Olá Hugo!
Quando a classe base implementa apenas construtores parametrizados, a classe que a implementar será obrigada a fornecer esses parâmetros.
Veja um exemplo:
class Pessoa
{
public Pessoa(string cpf)
{ }
}
class Diretor : Pessoa
{
public Diretor(string cpf) : base(cpf)
{ }
}
Agora, se a classe base tivesse algum construtor padrão, ou seja, sem parâmetros, isso seria possível:
class Pessoa
{
public Pessoa()
{ }
public Pessoa(string cpf)
{ }
}
class Diretor : Pessoa
{ }
Nesse segundo exemplo, caso a classe Diretor implementasse um construtor e se quisesse chamar o construtor padrão da classe Pessoa, seria preciso fazer isso:
class Diretor : Pessoa
{
public Diretor() : base()
{ }
}
Espero ter ajudado a tirar a sua dúvida, mas qualquer coisa pode perguntar!
Abraços!