O código abaixo possui erros. Identifique e corrija os erros:
Passo 1
Questões de encontrar erros é sempre bom a gente analisar linha por linha.
Vamos começar observando o código da classe . Aqui temos a declaração de dois atributos do tipo e o desenvolvimento de um método
Note o seguinte: os nomes dos parâmetros do método são iguais aos nomes dos atributos da classe. Quando isso acontece devemos usar o ponteiro para evitar ambiguidades.
Nas linhas 09 e 10 falta utilizar o ponteiro !
Corrigindo o código fica:
Passo 2
Agora vamos olhar a com carinho. Observando o plano geral vemos que na é instanciado um objeto e um ponteiro, o objeto é utilizado para inicializar os atributos e o ponteiro é usado para acessar estes atributos.
Agora vamos olhar linha por linha:
Nas linhas 16 e 17 é declarado um objeto e apontamos o ponteiro para este objeto. Até aqui tudo certo.
Em seguida objeto utiliza a função , porém na linha 19 temos o uso errado do operador seta . Este operador só pode ser utilizado com ponteiros, e não é um ponteiro!
Na linha 19 temos o uso errado do operador seta.
Corrigindo, vamos substituir o operador seta pelo ponto:
Passo 3
Antes de continuar, você precisa lembrar que existem duas formas de usar um ponteiro para acessar um membro do objeto.
A primeira usa os operadores de desreferenciação e ponto
E a segunda forma usa o operador seta
Agora vamos dar uma olhada nos das linhas 21 e 22.
O primeiro tentou utilizar a primeira forma de acessar o atributo. Porém faltaram os parêntesis, e sem eles o código segue na precedência errada. Já o segundo fez uma mistura das duas formas de acessar, porém se a gente apagar o vamos conseguir acessar pela segunda forma.
Na linha 21 falta o uso dos parêntesis, e na linha 22 o uso de é desnecessário.
Corrigindo vamos ter:
E prontinho! Corrigimos todos os erros!
Resposta
Linhas 09 e 10 falta utilizar o ponteiro !
Linha 19 temos o uso errado do operador seta.
Linha 21 falta o uso dos parêntesis
Linha 22 o uso de é desnecessário.