Estou tendo problemas com a parte de getNome() e getCpf() do meu projeto Banco. Meu código não está tão diferente do do professor, mas como tentei algumas coisas pra consertar, me perdi e estou achando tudo confuso. Acho que tem a ver com a herança, mas não sei. Meu código roda, mas ele não consegue acessar os nomes das pessoas. No arquivo main, comentei o que estava dando problema pra seguir o curso, mas agora tenho um output diferente do professor. Além disso, quando tento baixar o projeto no site da Alura, ele não está atualizado até o ponto da aula que estou.
Esse é meu arquivo main:
#include <iostream>
#include <string>
#include "Conta.hpp"
#include "Titular.hpp"
#include "Cpf.hpp"
#include "Funcionario.hpp"
using namespace std;
void ExibeSaldo(const Conta& conta){
cout << "O saldo é: " << conta.getSaldo() << endl;
}
int main() {
Conta umaConta("123456", Titular(Cpf("123.456.789-10"), "Heloisa")); // Conversão implícita
umaConta.depositar(500);
umaConta.sacar(200);
cout << "Uma conta - saldo: " << umaConta.getSaldo() << endl;
cout << "Uma conta - numero: " << umaConta.getNumero() << endl;
//cout << "Uma conta - cpf: " << umaConta.getCpf() << endl;
//cout << "Uma conta - nome: " << umaConta.getNome() << endl;
ExibeSaldo(umaConta);
Conta umaOutraConta("7890", Titular(Cpf("123.456.789-10"), "Thomas"));
umaOutraConta.depositar(500);
umaOutraConta.sacar(300);
cout << "Uma conta - saldo: " << umaOutraConta.getSaldo() << endl;
cout << "Uma conta - numero: " << umaOutraConta.getNumero() << endl;
//cout << "Uma conta - cpf: " << umaOutraConta.getCpf() << endl;
//cout << "Uma conta - nome: " << umaOutraConta.getNome() << endl;
ExibeSaldo(umaOutraConta);
Conta maisUmaConta("7890", Titular(Cpf("123.456.789-10"), "Ana"));
cout << "Número de contas: " << Conta::getNumerodeContas() << endl;
Funcionario funcionario(Cpf ("123.456.789-10"), "Leoo", 7000);
cout << "Nome do funcionario: " << funcionario.Pessoa::getNome() << endl;
return 0;
}
E implementei os get() do arquivo Pessoa.cpp:
#include "Pessoa.hpp"
#include <iostream>
Pessoa::Pessoa(Cpf cpf, std::string nome): cpf(cpf), nome(nome) {
std::cout << "Construtor de pessoa" << std::endl;
verificaTamanhoDoNome();
}
void Pessoa::verificaTamanhoDoNome(){
if (nome.size() < 5){
std::cout << "Nome muito curto" << std::endl;
exit(1); // Indica um erro qualquer
}
}
std::string Pessoa::getCpf() const {
return cpf.getCpf();
}
std::string Pessoa::getNome() const {
return nome;
}