Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Entendendo Construtores em C++: Padrão, Parametrizados e de Cópia Explicados

Entendendo Construtores em C++

Este tutorial mergulha em construtores em C++ — o que são, por que importam e como implementar construtores padrão, parametrizados e de cópia com exemplos claros.

Um construtor é uma função membro especial que roda automaticamente quando um objeto é instanciado. Em C++, o construtor compartilha seu nome com a classe e não especifica tipo de retorno.

class Parede { public: // Construtor Parede() { // código de inicialização } };

O construtor deve:


Construtor Padrão

Um construtor sem parâmetros é conhecido como construtor padrão. O exemplo Parede() acima é um.


Exemplo 1: Construtor Padrão

// Demonstrando um construtor padrão #include <iostream> using namespace std; class Parede { private: double comprimento; public: // Construtor padrão Parede() { comprimento = 5.5; cout << "Criando uma parede." << endl; cout << "Comprimento = " << comprimento << endl; } }; int main() { Parede parede1; return 0; }

Saída

Criando uma parede Comprimento = 5.5

Quando parede1 é instanciado, o construtor padrão define comprimento para 5.5 e imprime as mensagens.

Nota: Se uma classe não tem construtor explícito, o compilador gera automaticamente um construtor padrão que não faz nada.


Construtor Parametrizado

Construtores parametrizados recebem argumentos para inicializar dados de membro na criação do objeto. Eles são a forma preferida de configurar o estado de um objeto.


Exemplo 2: Construtor Parametrizado

// Calculando a área de uma parede usando construtor parametrizado #include <iostream> using namespace std; class Parede { private: double comprimento; double altura; public: // Construtor parametrizado Parede(double comp, double alt) { comprimento = comp; altura = alt; } double calcularArea() { return comprimento * altura; } }; int main() { Parede parede1(10.5, 8.6); Parede parede2(8.5, 6.3); cout << "Área da Parede 1: " << parede1.calcularArea() << endl; cout << "Área da Parede 2: " << parede2.calcularArea(); return 0; }

Saída

Área da Parede 1: 90.3 Área da Parede 2: 53.55

O construtor atribui os valores passados a comprimento e altura, permitindo que calcularArea() calcule a área da parede.


Construtor de Cópia

Um construtor de cópia cria um novo objeto como cópia exata de um existente. Ele é invocado quando um objeto é inicializado a partir de outro do mesmo tipo.


Exemplo 3: Construtor de Cópia

#include <iostream> using namespace std; class Parede { private: double comprimento; double altura; public: // Construtor parametrizado Parede(double comp, double alt) { comprimento = comp; altura = alt; } // Construtor de cópia Parede(Parede &obj) { comprimento = obj.comprimento; altura = obj.altura; } double calcularArea() { return comprimento * altura; } }; int main() { Parede parede1(10.5, 8.6); Parede parede2 = parede1; // Invoca construtor de cópia cout << "Área da Parede 1: " << parede1.calcularArea() << endl; cout << "Área da Parede 2: " << parede2.calcularArea(); return 0; }

Saída

Área da Parede 1: 90.3 Área da Parede 2: 90.3

O construtor de cópia copia comprimento e altura de parede1 para parede2, garantindo que ambos objetos tenham estado idêntico.

Nota: Construtores primariamente inicializam objetos, mas também permitem lógica personalizada rodar durante a criação do objeto.

Linguagem C

  1. Construtores em C#: Tipos, Exemplos e Padrões Avançados
  2. Dominando Sobrecarga de Construtores em C#
  3. Entendendo Tipos de Dados em C++: Fundamentos, Modificadores e Boas Práticas
  4. Dominando Operadores em C++: Guia Completo com Exemplos Práticos
  5. Comentários em C++: Boas Práticas para Código Legível e Manutenível
  6. Dominando Templates de Classe em C++: Um Guia Prático
  7. Dominando Construtores em Java: Tipos, Uso e Exemplos Práticos
  8. Entendendo Construtores Java: Inicialização e Boas Práticas
  9. Linguagem de Programação C++: Visão Geral e Principais Características
  10. Constantes e Literais em C++: Tipos, Sintaxe e Boas Práticas