Pular para conteúdo

Exercícios - Aula 10: Construtores e Destrutores

Gerenciando o ciclo de vida dos objetos.

🟢 Básicos

  1. Construtor Padrão: Crie uma classe Lampada que tenha um construtor que imprime "Lâmpada fabricada!" toda vez que um objeto é criado.
  2. Destrutor: Adicione um destrutor à classe Lampada que imprima "Lâmpada descartada!" ao final do programa.

🟡 Intermediários

  1. Construtor Parametrizado: Crie uma classe Smartphone que receba no construtor o modelo e a marca, usando uma lista de inicialização.
  2. Sobrecarga de Construtor: Crie dois construtores para uma classe Data: um que não recebe nada (e define 01/01/2000) e outro que recebe dia, mês e ano.

🔴 Desafio

5. Rastreamento de Instâncias: Use um membro estático (static int contador) para contar quantos objetos da classe Robo existem simultaneamente. Incremente no construtor e decremente no destrutor.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Construtor Padrão **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Construtor Padrão
    printf("Executando módulo de Construtores e Destrutores ️\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Construtores e Destrutores ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Destrutor **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Destrutor
    printf("Executando módulo de Construtores e Destrutores ️\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Construtores e Destrutores ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Construtor Parametrizado **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Construtor Parametrizado
    printf("Executando módulo de Construtores e Destrutores ️\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Construtores e Destrutores ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Sobrecarga de Construtor **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Sobrecarga de Construtor
    printf("Executando módulo de Construtores e Destrutores ️\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Construtores e Destrutores ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Rastreamento de Instâncias **Resolução e Implementação:**
#include <stdio.h>

int main() {
    // Implementação prática para Rastreamento de Instâncias
    printf("Executando módulo de Construtores e Destrutores ️\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Construtores e Destrutores ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.