Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bruno Leonardo de Almeida – 2020056628
Cliente.hpp
-Alterei o nome dos atributos para letras minúsculas, com o objetivo de obter uma maior padronização.
-Adicionei a palavra-chave “private:” na classe Cliente. Ela antecede os atributos da classe e permite maior integridade a eles, impedindo que sofram alterações não intencionais.
-Criei um constructor para a classe Cliente que evitará a repetição de código ao se criar objetos do tipo Cliente.
Encomenda.hpp
-Assim como na class Cliente, alterei o nome dos atributos para maior padrozinação.
-Adicionei a palavra-chave “protected:” aos atributos para impedir que sejam acessados em outros lugares, porém permite que sejam acessados por subclasses, no caso EncomendaNormal e EncomendaRelâmpago.
-Criei um constructor para a class Encomenda, que evitará a repetição de código quando novos objetos do tipo Encomenda forem criados.
-Alterei a assinatura da função “calcula” para “calcularValor”.
-Criei a função print() e calucularValor() como virtuais para que possam ser chamadas por subclasses.
EncomendaNormal.hpp
-Adicionei um constructor para a class EncomendaNormal,e sua respectiva superclass(Encomenda).
-Foi adicionado a palavra “override” nas funções calculaValor() e print(), pois elas foram alteradas para virtuais.
-As variáveis das funções calculaValor() e print() também tiveram os nomes alterados para coincidir com os novos nomes dos atributos.
EncomendaRelampago.hpp
-As mesmas alterações da class EncomendaNormal forem feitas para a class EncomendaRelampago já que ambas herdam as assinaturas dos métodos e atributos da superclass Encomenda
-Houve uma adição de atributo para a class EncomedaRelampago, que é (double taxa = 0.25). Isso para evitar que seja usado um número mágico na função calcularValo().
main.cpp
-Inclusão de duas novas bibliotecas e
-Criei um vector de objetos do tipo Cliente, onde serão armazenados todos os Clientes criados.
-Criei um vector de objetos do tipo Encomenda, onde serão armazenadas todas as Encomendas criadas.
-Todos os objetos criados foram utilizando constructor e reduzindo bastante o tamanho do código.
-Para evitar a repetição das chamadas das funções criei um loop que percorre o vector de encomendas. Também utilizo a função typeid() para verificar se a encomenda é da class EncomendaNormal ou EncomendaRelampago e fazer as devidas operações.