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.
Algumas modificações foram propostas a seguir, elas foram baseadas na refatoração, melhorando a qualidade do código,
assim como a manipulação da memória, preservando todas as funcionalidades do programa. As decisões foram baseadas
em boas práticas de programação.
Toda a identação do código foi padronizada, com uma identação por escopo, pois não havia uniformidade no código
anteriormente.
Modularização: Todos os arquivos foram separados em headers e implementação, pois antes a implementação e a
especificação estavam unidas. Agora a especificação está em arquivos *.hpp e a implementação em *.cpp.
Todos os atributos das classes foram alterados para o escopo privado da classe, garantindo o princípio do
encapsulamento. O atributo “saldo” referente a classe “ContaBancaria”, foi o único a ser alterado para protected, pois
classes que herdavam de ContaBancaria precisava de acesso irrestrito ao atributo para implementar suas próprias regras
de negócio, entretanto, ainda foi preservado o encapsulamento.
Foram criados construtores para preencher os atributos (privados) das “contas bancárias”, pois não faria sentido
instanciar qualquer uma dessas classes sem esses atributos.
Como agora os atributos são privados, a main foi alterada para instanciar os objetos via construtor com parâmetros,
passando todas as informações direto no construtor.
Inclusão do operador “this” para referenciar métodos e atributos da classe, deixando a legibilidade do código melhor.
Na classe “ContaBancaria” foram adicionados gets para os atributos saldo e titular, pois era preciso o acesso a esses
atributos na conta “Banco”. Os setters não foram criados, pois não havia necessidade nesse código e adicionar
getters/setter sem necessidade é uma má prática.
Alteração do padrão de escrita, agora todo o projeto está de acordo com o padrão CamelCase, onde os atributos e
métodos começam com letras minusculas, as classes com letras maiúsculas e palavras compostas são separadas por uma
letra maiúscula.
Foi inserido o destrutor da classe Banco, com o objetivo de liberar a memória no heap, a qual era usada para armazenar as contas bancárias, em um vetor da classe.