Um construtor inicializa um objeto na programação orientada a objetos. Em muitas linguagens de programação, um construtor tem o mesmo nome da classe na qual cria o objeto. Um programador normalmente declarará um construtor dentro da classe e, em seguida, definirá os tipos de dados que compõem o objeto resultante.
Tipos comuns de construtores
Padrão construtores: o que o programa insere automaticamente se nenhum construtor for definido. Isso depende do idioma, mas normalmente um construtor padrão define tudo dentro do novo objeto com seu valor padrão (como 0) e não define nenhum argumento. Ele também pode definir parâmetros padrão, mas ainda é considerado um construtor padrão.
Construtor parametrizado: possui parâmetros que identificam argumentos assim que um novo objeto é inicializado. O programa chama automaticamente um construtor, que um programador projeta com certos parâmetros.
Construtor de cópia: cria um novo objeto fazendo uma cópia de um preexistente. Normalmente, esses objetos devem estar na mesma classe.
Conversão de construtor: não possui uma declaração específica (explícita); em vez disso, o programa implica a declaração. Se um construtor recebe apenas um parâmetro, o programa pode converter um objeto em outra classe ou tipo implicitamente. Isso também é conhecido como construtor de conversão.
Mover construtor: transfere um ponteiro para dados diferentes ou atribui os dados a outro objeto, em vez de usar um construtor de cópia. O tipo de dados se move em vez de ser copiado.