Exercícios Resolvidos de Sobrecarga de operadores

Ver Teoria

Enunciado

Sobrecarregue os operadores de soma, subtração e multiplicação para o tipo P O N T O abaixo.

Passo 1

Vamos lá pessoal. Essa é uma questão de sobrecarga de operadores.

O exercício já nos deu uma classe e quer que a gente implemente as sobrecargas para os operadores binários + ,   - e *

Então, pra começar, vamos escrever a classe que a questão deu pra gente:

Passo 2

Vamos sobrecarregar cada um dos operadores, um de cada vez. Vamos começar com o operador de adição + .

Para sobrecarregar um operador é parecido com criar uma função, porém o nome da função é formado pela palavra chave o p e r a t o r e o símbolo do operador.

t i p o   o p e r a t o r + ( p a r a m e t r o s )

Para sobrecarregar o operador binário + precisaremos receber dois parâmetros do tipo P O N T O , e a função deve retornar um resultado do tipo P O N T O

P O N T O   o p e r a t o r + ( P O N T O   p 1 ,   P O N T O   p 2 )

No código teremos:

Em seguida fazemos o corpo da sobrecarga.

Primeiro precisamos de uma variável de apoio do tipo P O N T O chamada p 3 . Depois, somamos os componentes x e y dos pontos p 1 e p 2 , e guardamos os resultados nas componentes de p 3 . E por fim, usamos o comando r e t u r n para retornar o ponto p 3 .

Passo 3

O próximo operador é o binário, que vai receber dois pontos como parâmetros e efetuar uma subtração entre os pontos.

P O N T O   o p e r a t o r - ( P O N T O   p 1 ,   P O N T O   p 2 )

No código teremos:

O desenvolvimento do corpo da sobrecarga é muito similar ao anterior, precisamos de uma variável de apoio p 3 , onde vamos guardar o resultado da subtração dos componentes x e y de p 1 - p 2 . Usamos o comando r e t u r n para retornar o ponto p 3 .

Passo 4

O último operador é o * binário, que executa o produto dos componentes de dois pontos:

P O N T O   o p e r a t o r * ( P O N T O   p 1 ,   P O N T O   p 2 )

No código:

E vamos construir o corpo da operação mais uma vez. Criamos uma variável p 3 do tipo P O N T O , e nas componentes de p 3 guardamos o resultado do produto das componentes de p 1 e p 2 :

E isso finaliza a nossa classe e nossas sobrecargas.

Resposta