Um programador está desenvolvendo um sistema de registro de produtos, e você pode ver o código da classe abaixo. O código contém alguns erros, identifique os erros e escreva uma classe corrigida.
Passo 1
E aí pessoal, beleza? Aqui é o Juan, e vamos lá resolver essa questão!
Aqui não tem segredo, a gente precisa analisar o código e encontrar os erros. Então vamos lá.
Dando uma olhada nas linhas de 01 a 04 o cabeçalho aproveita para importar a que será utilizada no restante do código.
Agora vamos olhar a linha 05 onde começamos a nossa classe. De cara, aqui temos o nosso primeiro erro. As classes não recebem parâmetros entre parêntesis!
Passo 2
Seguindo para as linhas 06 a 08 temos a declaração dos atributos da classe. Note que todos estão atributos estão sendo criados em contexto privado, pois este é o padrão quando criamos uma classe no C++.
Mas isso se torna um problema nas linhas 09 a 19, pois os métodos construtor e destrutor devem ser criados em contexto público. Note que este é um erro que pode passar despercebido, pois não gera aviso de erro durante a compilação do programa.
Passo 3
Agora vamos dar uma olhada de perto nos nossos métodos. Da linha 10 a 14 é desenvolvido o construtor, que recebe três parâmetros e utiliza os valores recebidos para preencher os atributos da classe. Aqui não há nenhum erro
Já nas linhas 16 a 19 foi desenvolvido o método destrutor, e aqui temos alguns erros para mencionar.
A própria declaração do método, na linha 16, está errada pois os métodos destrutores não recebem parâmetros, ou seja, os parêntesis devem estar vazios!
Dentro do destrutor uma mensagem é exibida e com isso está tudo certo. Mas na linha 18 temos uma instrução , e o método destrutor não aceita essa instrução.
Com isso a nossa classe está concluída. Mas ainda há mais um erro. Na chave da linha 20 não podemos esquecer do ponto e vírgula
Passo 4
Agora vamos as correções!
Pra começar, vamos remover os parêntesis da linha 05, pois não utilizamos parênteses na declaração de classes.
Agora vamos dar uma olhada no construtor e no destruidor. A primeira mudança é tornar os dois métodos públicos, então adicionamos o na linha 09.
Em seguida, vamos dar atenção ao destruidor. Na linha 16 vamos remover os parâmetros e deixar os parêntesis vazios, e também temos que apagar o comando de dentro do destruidor.
Por último, adicionamos o ponto e vírgula que faltava na linha 20.
E prontinho! Agora corrigimos todos os erros.
Resposta
Linha 05: Parêntesis na classe.
Linha 09: Devemos adicionar um
Linha 16: Funções destrutoras devem ter os parêntesis vazios
Linha 19: Funções destrutoras não devem ter comando
Linha 20: Faltou o ponto e vírgula.