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.
Dividi o programa em arquivos header (.hpp) e de implementação (.cpp) para facilitar a manutenção, tornando o código mais claro e independente. Organizei os arquivos em pastas separadas: "include" para headers e "src" para implementações.
Removi o "using namespace" para evitar confusões de nomes, mantendo as coisas mais limpas. Isso auxilia na prevenção de problemas no código e facilita a compreensão da origem das funções e classes.
Adotei os modificadores de acesso "public" e "private" para os membros das classes, estabelecendo encapsulamento. Essa prática restringe o acesso direto a certos atributos e métodos, prevenindo manipulações externas à classe e garantindo a integridade e segurança dos dados internos.
Algumas funções agora são declaradas como "const", indicando que não alteram o estado interno do objeto. Além de expressar a intenção do desenvolvedor, essa abordagem oferece garantias adicionais de segurança no código.
Substituí "\n" por "std::endl" para assegurar a manipulação correta de novas linhas em diferentes sistemas operacionais e manter uma formatação consistente.
Padronizei os nomes das funções para snake_case, seguindo uma convenção comum que torna o código mais legível.
Adicionei underscores (_) na frente dos atributos privados para distingui-los claramente dos públicos, melhorando a clareza do código.
Removi includes desnecessários e duplicados, otimizando a compilação e evitando conflitos entre headers.
Corrigi a indentação para tornar o código mais legível, seguindo padrões comuns.
Eliminei quebras de linha desnecessárias para manter uma estética mais limpa e adicionei algumas estrategicamente para facilitar a visualização do código.
Introduzi "getters" e "setters" para fornecer controle mais granular sobre o acesso e modificação dos atributos da classe, seguindo o princípio de encapsulamento.
Criei a função "alterar_saldo" para encapsular a lógica específica de alteração do saldo em um método dedicado. Vale ressaltar que essa função difere de um setter convencional, pois incrementa o saldo atual com um valor fornecido, enquanto "set_saldo" atribui um novo valor absoluto ao saldo da conta.
Mudei o nome das classes para PascalCase, seguindo uma convenção comum em muitas linguagens de programação e tornando o código mais consistente.
Implementei construtores e destrutores para todas as classes. A introdução desses elementos garante uma inicialização consistente de objetos e uma liberação apropriada de recursos, promovendo uma gestão eficaz da memória no sistema.
Realizei algumas alterações em main.cpp para garantir que o programa funcione corretamente na nova estrutura com as novas funções, mantendo a coesão global do projeto.
Criei um "Makefile" para facilitar o processo de compilação e vinculação dos arquivos.