Construtor e Destrutor em C ++ - Necessidades, usos com sintaxe e exemplos

Índice:

Anonim

Introdução ao Construtor e Destrutor em C ++

  • O construtor e o destruidor em C ++ desempenham um papel significativo em uma linguagem de programação orientada a objetos como o C ++. Como temos os objetos Class e Seus em C ++ enquanto criamos o novo objeto toda vez que o construtor pode ser usado para inicializar o objeto, enquanto quando o objeto está prestes a destruir o destruidor pode ser usado para executar as operações de postagem necessárias.
  • Quando criamos um objeto de uma classe em C ++, podemos querer inicializar os campos da classe com alguns valores padrão ou certos. Uma classe tem seus campos e métodos. Os campos são principalmente variáveis ​​ou objetos. Ao atribuir valores padrão a esses campos, facilitamos nossa programação. O construtor é como uma função normal dentro da classe e o compilador a chama automaticamente quando criamos um novo objeto dessa classe. Ao criar o objeto, na verdade passamos os valores necessários como argumento para o objeto, esses argumentos são passados ​​para o construtor da classe. Os valores do argumento agora podem ser atribuídos aos campos correspondentes, que estão disponíveis na classe. Além disso, podemos atribuir valores padrão aos campos em que não passamos os argumentos. Existem diferentes tipos e maneiras pelas quais inicializamos o construtor em C ++.
  • O construtor é como uma função de membro especial de uma classe. Sempre que criamos um novo objeto, o construtor é executado. A sintaxe de um construtor é muito simples, a função terá o mesmo nome da classe em que está definida e não terá nenhum tipo de retorno, nem mesmo nulo. Os construtores são muito úteis para atribuir valores específicos a determinados membros da classe. O construtor pode ser usado para executar lógica relacionada à classe no momento da instanciação.

Sintaxe do Construtor

class Box (
public:
int height;
//constructor
Box () (
// member initialization
)
)

O destruidor em C ++ também é uma função de membro especial na classe. O destruidor é chamado automaticamente pelo compilador e é executado sempre que o objeto dessa classe específica sai do escopo ou é excluído usando a expressão delete no ponteiro do objeto. Sempre que o objeto é destruído por um compilador, o destruidor é chamado. No destruidor, podemos executar instruções que podem ser qualquer coisa que queremos executar quando o objeto sai do escopo. As pós-operações, como fechamento de conexões, fechamento de arquivos, etc, são alguns dos exemplos que podemos executar no destruidor.

Sintaxe do destruidor

class Box (
public:
int height;
//destructor
~Box () (
// post statements
)
)

A sintaxe do destruidor é muito semelhante ao construtor. Ele terá o mesmo nome da classe em que está definido e não terá tipo de retorno. No entanto, apenas terá o sinal ~ (til) antes do nome do destruidor. Normalmente, o destruidor é usado para desalocar a memória alocada dinamicamente para a classe e seus membros. Os destruidores são muito úteis para executar operações pós, que podem ser executadas após a lógica de negócios.

Por que precisamos de um construtor e destruidor em C ++?

C ++ é uma linguagem de programação orientada a objetos. Em qualquer linguagem de programação orientada a objetos, mapeamos entidades reais da vida real com a classe e os objetos.

Vamos entender por que precisamos de um construtor e destruidor em C ++ pelo exemplo da vida real. Suponha que tenhamos a entidade Box e tenhamos criado uma classe para ela e ela também terá objetos que podem ser usados ​​em outras partes. Agora a caixa terá certos parâmetros, como altura, comprimento, largura, etc. e sempre que criarmos um objeto da classe Box, queremos que ele pegue algum valor padrão. Digamos que para altura, esse objetivo pode ser alcançado atribuindo um valor padrão específico à altura no construtor dessa classe. Da mesma forma, para outros parâmetros também valores podem ser atribuídos. Depois de usar o objeto Box, digamos que queremos alguma ação específica imediatamente ou chamamos alguma função. Isso pode ser feito usando o Destructor em C ++. As instruções necessárias serão adicionadas ao destruidor dessa classe. Esses são os benefícios em tempo real de ter um construtor e destruidor em C ++.

Como os construtores e destruidores trabalham em C ++?

Como discutido anteriormente, o construtor é chamado pelo compilador sempre que um objeto é criado. Se não definirmos o construtor, o compilador C ++ gerará automaticamente um construtor padrão para nós. O construtor é usado para alocar a memória, se necessário, e construir o objeto da classe, enquanto que um destruidor é usado para executar a limpeza necessária quando um objeto é destruído. O destruidor é chamado automaticamente pelo compilador quando um objeto é destruído. Se não definirmos nosso próprio destruidor, o compilador C ++ criará um destruidor padrão.

Criando Construtor e Destrutor em C ++? (Exemplos)

1. Exemplo de construtor

Vamos pegar o mesmo exemplo da classe Box para declarar o construtor. Vamos atribuir alguns valores padrão à altura e peso da caixa.

Código

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
)

Portanto, sempre que o objeto dessa classe for criado, ele retornará o objeto do tipo Box com valores padrão, conforme definido acima.

2. Exemplo de destruidor

Sempre que o objeto Box ficar fora do escopo, imprimiremos algum texto no console em nosso exemplo. Na codificação de fato, pode haver qualquer atividade específica executada.

Código

class Box (
public:
int height;
int weight;
// constructor
Box () (
// member initialization
height = 10;
weight = 20;
)
//destructor
~Box () (
// post statements
cout << “Box Object is being deleted.” << endl;
)
)

Portanto, sempre que o objeto Box ficar fora do escopo, o compilador imprimirá o texto conforme definido acima no console.

Conclusão

Portanto, o Constructor e o Destructor desempenham um papel importante na linguagem de programação orientada a objetos. Um construtor é usado para inicializar o objeto e o destruidor é usado durante a destruição do objeto. Tanto o construtor quanto o destruidor são muito úteis durante a programação na linguagem C ++.

Artigos recomendados

Este é um guia para o construtor e o destruidor em C ++. Aqui discutimos as necessidades do Construtor e Destrutor em C ++, como usar, sintaxe diferente e exemplos. Você também pode consultar nossos outros artigos relacionados para saber mais.

  1. Funções de matriz C ++
  2. Copiar Construtor em C ++
  3. Introdução ao C ++
  4. Tipos de construtor em C
  5. Guia para destruidor em C #
  6. Destruidor em PHP com exemplos