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.
Análise das alterações feitas
Para melhorar a organização e conteúdos gerais dos arquivos:
Criei os respectivos arquivos .cpp, separando especificação e implementação.
Para melhorar a legibilidade do código:
Alterei o formato dos nomes das variáveis, de modo que todas sigam o padrão camel case;
Alterei os nomes dos métodos "print" para nomes mais específicos do que é mostrado na tela;
Eliminei quebras de linha desnecessárias;
Em cada construtor, criei uma constante TAXA para definir a taxa da comissão.
Para evitar erros e trechos de códigos repetidos:
Em cada construtor, criei uma constante TAXA para definir a taxa da comissão;
As variáveis que definem o valor e a comissão são calculadas no próprio construtor, com base no valor do metro quadrado, na taxa e na comissão;
Em cada construtor, demais variáveis (além de valor e comissão) são inicializadas com valor igual a 0.
Para aplicar os princípios de orientação a objetos:
Fiz a especificação e a implementação de métodos de acesso (getters) e de os métodos modificadores (setters) para cada atributo;
Fiz as devidas mudanças em main.cpp para permitir que cada atributo seja modificado e acessado apenas por meio de métodos da classe;
Fiz a divisão de membros públicos e privados, de modo que os membros privados sejam os atributos de cada classe e os membros públicos sejam: o construtor; os métodos de acesso (getters); os métodos modificadores (setters) e o método para imprimir os dados.