O que é sobrecarga de operador?

Questão

O que é sobrecarga de operador?

Alternativas

A) É a capacidade de uma classe ter diversos operadores com nomes diferentes, mas com parâmetros iguais.

B) É a capacidade de uma classe não ter operadores.

C) É a capacidade de uma classe ter apenas um operador com vários parâmetros diferentes.

D) É a capacidade de uma classe ter apenas um operador com o mesmo nome e mesmo número de parâmetros.

Resposta certa

E) É a capacidade de uma classe ter diversos operadores diferentes com o mesmo nome.

Explicação

Sobrecarga de operador (operator overloading) é o recurso (comum em linguagens como C++ e também presente em outras, com regras próprias) que permite definir/reescrever o comportamento de operadores (como +, -, *, ==, [], etc.) para tipos definidos pelo usuário (classes/structs).

Em outras palavras: você pode ter o “mesmo operador” (mesmo símbolo/nome) funcionando de formas diferentes, dependendo do(s) tipo(s) e/ou assinatura (parâmetros) envolvidos. Exemplo intuitivo: o operador + pode somar números, concatenar strings e também pode ser definido para somar vetores/complexos, etc.

Analisando as alternativas:

  • A) Incorreta. Não faz sentido dizer “diversos operadores com nomes diferentes, mas com parâmetros iguais” como definição de sobrecarga.
  • B) Incorreta.
  • C) Incorreta. Não é “apenas um operador”; e “vários parâmetros diferentes” não define sobrecarga.
  • D) Incorreta. Isso descreve ausência de sobrecarga (mesmo nome e mesmo número de parâmetros sem variação).
  • E) É a que melhor expressa a ideia central: usar o mesmo nome/operador para comportamentos distintos (embora a redação “diversos operadores diferentes com o mesmo nome” esteja um pouco estranha, ela aponta para “mesmo operador/nome com implementações diferentes”).
Carregando…

Questões relacionadas

Ver últimas questões