0
Follow the full code:
// sistemafinanceiro.h
#ifndef SISTEMAFINANCEIRO_H
#define SISTEMAFINANCEIRO_H
#include"banco.h"
class SistemaFinanceiro
{
private:
Banco banco;
public:
SistemaFinanceiro();
Banco getBanco();
};
#endif // SISTEMAFINANCEIRO_H
//instituicaofinanceira.h
#ifndef INSTITUICAOFINANCEIRA_H
#define INSTITUICAOFINANCEIRA_H
#include <iostream>
#include <vector>
#include "agencia.h"
using namespace std;
class InstituicaoFinanceira
{
protected:
int cnpj;
string nome;
vector <Agencia> vetorAgencia;
public:
InstituicaoFinanceira();
void setVetorAgencia(int vetor, int codigo, int saldo);
Agencia getVetorAgencia(int vetor);
};
#endif // INSTITUICAOFINANCEIRA_H
//banco.h
#ifndef BANCO_H
#define BANCO_H
#include "instituicaofinanceira.h"
class Banco: public InstituicaoFinanceira {
public:
Banco();
int getCnpj();
string getNome();
};
#endif // BANCO_H
//agencia.h
#ifndef AGENCIA_H
#define AGENCIA_H
class Agencia
{
private:
int codigo;
int saldo;
public:
//Métodos contrutores//
Agencia();
Agencia(int codigo, int Saldo);
~Agencia();
//Métodos get//
int getCodigo();
int getSaldo();
};
#endif // AGENCIA_H
//sistemafinanceiro.cpp
#include "sistemafinanceiro.h"
SistemaFinanceiro::SistemaFinanceiro()
{
}
Banco SistemaFinanceiro::getBanco(){
return banco;
}
//instituicaofinanceira.cpp
#include "instituicaofinanceira.h"
#include "agencia.h"
#include <iostream>
InstituicaoFinanceira::InstituicaoFinanceira()
{
}
Agencia InstituicaoFinanceira::getVetorAgencia(int vetor){
return vetorAgencia[vetor];
}
void InstituicaoFinanceira::setVetorAgencia(int vetor, int codigo, int saldo){
Agencia novaAgencia(codigo, saldo);
this->vetorAgencia[vetor] = novaAgencia;
}
//banco.cpp
#include "banco.h"
#include "instituicaofinanceira.h"
Banco::Banco():InstituicaoFinanceira(){
//Sim, o construtor padrão Banco() já constroi inicializando os atributos e redimensionando o vetorAgencia //
this->cnpj = 123456789;
this->nome = "Banco XYZ";
this->vetorAgencia.resize(99);
}
int Banco::getCnpj(){
return cnpj;
}
string Banco::getNome(){
return nome;
}
//agencia.cpp
#include "agencia.h"
Agencia::Agencia()
{
}
Agencia::~Agencia(){
}
Agencia::Agencia(int codigo, int saldo){
this->codigo = codigo;
this->saldo = saldo;
}
int Agencia::getCodigo(){
return codigo;
}
int Agencia::getSaldo(){
return saldo;
}
//main.cpp
#include "sistemafinanceiro.h"
using namespace std;
int main(int argc, char *argv[])
{
SistemaFinanceiro objSistemaFianceiro; //cria um objeto SistemaFinanceiro//
cout<<objSistemaFianceiro.getBanco().getNome()<<" "<<objSistemaFianceiro.getBanco().getVetorAgencia(13).getCodigo()<<" "<<objSistemaFianceiro.getBanco().getVetorAgencia(13).getSaldo()<<endl; //imprime no console o codigo e o saldo iniciado pelo construtor padrão no vetor 13 de vetorAgencia;
objSistemaFianceiro.getBanco().setVetorAgencia(13,12121999,19999); // altera o vetor 13 de vetorAgencia//
cout<<objSistemaFianceiro.getBanco().getNome()<<" "<<objSistemaFianceiro.getBanco().getVetorAgencia(13).getCodigo()<<" "<<objSistemaFianceiro.getBanco().getVetorAgencia(13).getSaldo()<<endl; //imprime no console o codigo e o saldo após aplicar o método setVetorAgencia(): AQUI ESTÁ O ERRO!!!;
}
Just to clarify: when I use the setVetorAgencia(13,12121999,19999) method in main() it does not insert the new object in the vectorAgencia vector... I need help! Another thing, the main() neither prints in the console the object objSistemaFinanced already built with the instantiated initial values...
– F. Brito