tengo una clase cuenta
esta clase se usa como super clase para la clase ahorros
la informacion de el constructor la debo guardar en un vetor de la clase lista
en este momento me genera un error al compilar
su respectiva implementacion es esta
y esta es su implementacion
Código [Seleccionar]
class Cuenta
{
protected:
std::string cedula, numeroCuenta;
int saldo;
public:
Cuenta(std::string ced = "",std::string numCta = "",int sal = 0);
void setCedula(std::string ced); //los set establecen el valor de la variable
void setNumeroCuenta(std::string numCta);
void setSaldo(int sal);
std::string getCedula(); //los get consultan el valor de la variable
std::string getNumeroCuenta();
int getSaldo();
bool seLlama (std::string ced); //comparador
bool operator < (const Cuenta &C) const; //ordenador
virtual int intereses()=0;
};
Código [Seleccionar]
#include "cuenta.h"
Cuenta::Cuenta(std::string ced, std::string numCta, int sal)
{
cedula = ced;
numeroCuenta = numCta;
saldo = sal;
}
void Cuenta::setCedula(std::string ced)
{
cedula = ced;
}
void Cuenta::setNumeroCuenta(std::string numCta)
{
numeroCuenta = numCta;
}
void Cuenta::setSaldo(int sal)
{
saldo = sal;
}
std::string Cuenta:: getCedula()
{
return cedula;
}
std::string Cuenta:: getNumeroCuenta()
{
return numeroCuenta;
}
int Cuenta::getSaldo()
{
return saldo;
}
bool Cuenta::seLlama (std::string ced)
{
return cedula == ced;
}
bool Cuenta::operator < (const Cuenta &c) const
{
return (cedula < c.cedula);
}
esta clase se usa como super clase para la clase ahorros
Código [Seleccionar]
class Ahorros : public Cuenta
{
private:
int montoBase;
public:
Ahorros(std::string ced = "",std::string numCta = "",int saldo = 0);
bool validarTransaccion(int saldoR);
int intereses(int saldo);
};
Código [Seleccionar]
#include "ahorros.h"
Ahorros::Ahorros(std::string ced, std::string numCta, int saldo) : Cuenta(ced, numCta, saldo)
{
montoBase = 20000;
}
bool Ahorros::validarTransaccion(int saldoR)
{
return (saldoR-montoBase)>=0;
}
int Ahorros::intereses(int saldoR)
{
floor(saldoR*1.4);
}
la informacion de el constructor la debo guardar en un vetor de la clase lista
Código [Seleccionar]
class ListaAhorros
{
private:
char cambio[15];
bool orden;
std::vector<Ahorros> listaAhorros;
public:
ListaAhorros();
~ListaAhorros();
void agregar[glow=red,2,300](Ahorros a)[/glow];
std::string consultar(std::string ced);
std::string consultarCuenta(std::string ced);
void modificar(std::string ced, std::string ced1, std::string numCta, int montB);
void eliminar(std::string ced);
void ordenar();
void listadoAhorros();
};
#endif
en este momento me genera un error al compilar
su respectiva implementacion es esta
Código [Seleccionar]
#include "listaAhorros.h"
using namespace std;
ListaAhorros::ListaAhorros()
{
string linea, ced, numCta;
int saldo;
ifstream entrada("ActaAhorros.txt");
if(entrada){
while(getline(entrada, linea))
{
ced = linea;
getline(entrada, linea);
numCta = linea;
getline(entrada, linea);
saldo = atoi(linea.c_str());
agregar(Ahorros(ced, numCta, saldo));
}
}
orden=false;
entrada.close();
}
ListaAhorros::~ListaAhorros()
{
ofstream salida("ActaAhorros.txt");
vector<Ahorros>::iterator cual;
for(cual=listaAhorros.begin();cual!=listaAhorros.end();cual++)
{
salida << cual->getCedula() << endl;
salida << cual->getNumeroCuenta() << endl;
salida << cual->getSaldo() << endl;
}
salida.close();
}
void ListaAhorros::agregar(Ahorros a)
{
listaAhorros.insert(listaAhorros.end(), a);
}
std::string ListaAhorros::consultar(std::string ced)
{
vector<Ahorros>::iterator cual;
for(cual=listaAhorros.begin();cual!=listaAhorros.end();cual++)
if(cual->seLlama(ced)){
cout << "numero de cuenta: " << cual->getNumeroCuenta();
cout << "\nmonto base: " << cual->getSaldo();
return itoa(cual->getSaldo(),cambio,10);
}
else
return "";
}
std::string ListaAhorros::consultarCuenta(std::string ced)
{
vector<Ahorros>::iterator cual;
for(cual=listaAhorros.begin();cual!=listaAhorros.end();cual++)
cout<<"llega";cin.get();
if(cual->seLlama(ced)){
cout<<"no llega";cin.get();
return cual->getNumeroCuenta();}
}
void ListaAhorros::modificar(std::string ced, std::string ced1, std::string numCta, int montB)
{
vector<Ahorros>::iterator cual;
for(cual=listaAhorros.begin();cual!=listaAhorros.end();cual++)
if(cual->seLlama(ced))
{
cual->setCedula(ced1);
cual->setNumeroCuenta(numCta);
cual->setSaldo(montB);
break;
}
}
void ListaAhorros::eliminar(std::string ced)
{
vector<Ahorros>::iterator cual;
for(cual=listaAhorros.begin();cual!=listaAhorros.end();cual++)
if(cual->seLlama(ced))
{
listaAhorros.erase(cual);
break;
}
}
void ListaAhorros::ordenar()
{
if(!orden)
sort(listaAhorros.begin(),listaAhorros.end());
orden=true;
}
void ListaAhorros::listadoAhorros()
{
ordenar();
vector<Ahorros>::iterator cual;
cout << "LISTADO DE LA LIBRETA DE CLIENTES" << endl;
cout << " CEDULA NUMERO_DE_CUENTA MONTO_BASE" << endl;
for(cual=listaAhorros.begin();cual!=listaAhorros.end();cual++)
cout <<" "<< cual->getCedula()<<" "<< cual->getNumeroCuenta() << " " << cual->getSaldo()<< endl;
}
y esta es su implementacion