ExpertiDict

C++ · Essencial · Português · Técnico

construtor

kõstɾuˈtoʁsubstantivo

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

Veja também

Todos os termos de C++