Construtores também podem ser sobrecarregados, assim como métodos.
A sobrecarga de construtores permite criar objetos de diferentes maneiras.
A classe MyClass tem quatro construtores sobrecarregados, cada um inicializando o objeto de maneira diferente.
O construtor apropriado é chamado com base nos parâmetros fornecidos na instrução new.
A sobrecarga de construtores proporciona flexibilidade na construção de objetos.
Uma razão comum para a sobrecarga de construtores é permitir que um objeto inicialize outro.
Fornecer um construtor que usa um objeto para inicializar outro pode ser eficiente, como mostrado no exemplo.
No caso da construção de s2, a soma não precisa ser recalculada, pois é copiada de s1.
Mesmo quando a eficiência não é uma preocupação, ter um construtor que copia um objeto pode ser útil.