Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aluno #165 #165

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

BrunoLeonardoA
Copy link

@BrunoLeonardoA BrunoLeonardoA commented Mar 10, 2021

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.

@BrunoLeonardoA BrunoLeonardoA changed the title Fatoração Bruno Leonardo de Almeida – 2020056628 Mar 10, 2021
@douglasmacharet douglasmacharet changed the title Bruno Leonardo de Almeida – 2020056628 Aluno #165 Mar 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant