Um aluno de engenharia está fazendo um programa em C++ para auxiliá-lo nas aulas de Movimento Retilíneo Uniforme (MRU) em uma dimensão.
Ele criou a seguinte classe:
Ele cometeu alguns erros. Encontre os erros e corrija.
Passo 1
Vamos nessa galera. Essa é uma daquelas questões de analisar códigos, então vamos olhar linha por linha, e encontrar os erros no código.
A chave aqui é perceber o comportamento do programa, e tentar entender como cada linha de código vai se comportar. Então let’s go!
Da linha 01 a 03 é apenas o básico de um programa C++, e está tudo certo por aqui.
Na linha 04 iniciamos a declaração da nossa classe chamada .
Nas linhas 07 e 08 são declarados três variáveis em contexto para representar a velocidade inicial, e as posições inicial e final. Por enquanto não há nenhum erro aqui.
Em um contexto na linha 12 criamos uma função chamada , essa função recebe um parâmetro e utiliza os atributos e para calcular o valor do atributo . Aqui também não encontramos nenhum erro.
Passo 2
Agora vamos pra linha 17 dar uma boa olhada na nossa classe construtora.
O primeiro erro está na linha 17 perceba que o tipo foi associado a função construtora, porém as funções construtoras não possuem tipo.
O segundo erro também está na linha 17 pois o nome da função está errado, o nome do construtor deve ser igual ao nome da classe.
Seguindo para a linha 19 nos deparamos com uma instrução , e sabemos que as funções construtoras não utilizam esse comando.
Mas olhando a função como um todo, existe um erro ainda mais sério. Um dos principais objetivos da classe construtora é inicializar os atributos da classe, porém, o construtor que foi exibido não atribui os parâmetros aos atributos.
Passo 3
Vamos corrigir os defeitos que encontramos no nosso construtor. Pra começar, a gente deve remover o tipo e renomear o método na linha 17, e apagar o comando de retorno na linha 19:
Em seguida, vamos utilizar esse método para inicializar os atributos e existentes dentro da classe. Pra isso, basta a gente usar o operador para guardar o valor dos parâmetros nos atributos.
E esse é o nosso método construtor corrigido.