C++ · Essencial · Português · Técnico
construtor
Função especial com o nome da classe, sem tipo de retorno, chamada ao criar um objeto. Serve para inicializar os membros e deixar o objeto em estado válido.
Onde usar
Em code review pergunta-se se o construtor deixa todos os membros inicializados e se deveria ser explicit. Um construtor que lança exceção impede a criação do objeto.
Em código
class Ponto {
int x_, y_;
public:
Ponto() : x_(0), y_(0) {}
Ponto(int x, int y) : x_(x), y_(y) {}
};
Ponto p{3, 4};Exemplos
O construtor lança exceção se o arquivo não existir.
Marque esse construtor como explicit para evitar conversão implícita.
Cuidado
Declarar qualquer construtor suprime o construtor padrão gerado pelo compilador, o que surpreende quem esperava poder escrever Ponto p;.
Antônimos
destrutor