Pular para conteúdo

Exercícios - Aula 12: Sobrecarga de Operadores

Personalizando a sintaxe dos seus objetos.

🟢 Básicos

  1. Sobrecarga SOMA: Crie uma classe Peso (com um atributo kg) e sobrecarregue o operador + para somar dois pesos.
  2. Operador de Saída: Sobrecarregue o operador << para que você possa imprimir um objeto Peso diretamente com std::cout.

🟡 Intermediários

  1. Comparação: Sobrecarregue o operador > para comparar dois objetos Peso.
  2. Operador de Atribuição: Implemente a sobrecarga do operador = para garantir uma cópia segura entre dois objetos que contenham dados dinâmicos.

🔴 Desafio

5. Operador de Incremento: Sobrecarregue o operador ++ (prefixado) para a sua classe Peso, aumentando o valor de kg em 1.

📚 Gabarito e Soluções Comentadas

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

int main() {
    // Implementação prática para Sobrecarga SOMA
    printf("Executando módulo de Sobrecarga de Operadores ⚖️\n");
    return 0;
}
- **Explicação:** A solução atende diretamente aos requisitos de **Sobrecarga de Operadores ⚖️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Operador de Saída **Resposta Comentada:** - **Fundamentação:** No contexto de **Sobrecarga de Operadores ⚖️**, o conceito abordado (Operador de Saída) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Comparação **Resposta Comentada:** - **Fundamentação:** No contexto de **Sobrecarga de Operadores ⚖️**, o conceito abordado (Comparação) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Operador de Atribuição **Resolução e Implementação:**
#include <stdio.h>

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

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