Não entendi qual é a função de um construtor sem argumentos no caso de herança e também não entendi o seguinte trecho do material de estudo:
"(...)
public class Conta
{
public int Numero { get; set; }
// Construtor sem argumentos
public Conta() {}
public Conta(int numero)
{
this.Numero = numero;
}
}
Na verdade, dentro do C#, sempre que construímos uma instância de ContaPoupanca, o C# sempre precisa chamar um construtor da classe Conta para fazer a inicialização da classe base. Quando não invocamos explicitamente o construtor da classe pai, o C# coloca implicitamente uma chamada para o construtor sem argumentos da classe pai:
public class ContaPoupanca : Conta
{
// nesse código o c# chamará o construtor sem argumentos da classe Conta.
public ContaPoupanca(int numero)
{
this.Numero = numero;
}
}
Se a classe Conta não definir o construtor sem argumentos, temos um erro de compilação se não invocarmos explicitamente um construtor da classe pai."