// cuenta.h - clase CCuenta
// Clase base de CCuentaAhorro y CCuentaCorriente
#if !defined( _CUENTA_H_ )
#define _CUENTA_H_

#include <iostream>
#include <string>
using namespace std;

class CCuenta
{
  // Atributos
  private:
    string nombre;
    string cuenta;
    double saldo;
    double tipoDeInteres;
  
  // Métodos
  public:
    CCuenta(string nom = "sin nombre", string cue = "0000",
            double sal = 0.0, double tipo = 0.0);
    CCuenta(const CCuenta&);
    virtual ~CCuenta() {}; // destructor
    CCuenta& operator=(const CCuenta&);
    bool asignarNombre(string nom);
    string obtenerNombre();
    bool asignarCuenta(string cue);
    string obtenerCuenta();
    double estado();
    virtual void comisiones() = 0;
    virtual double intereses() = 0;
    bool ingreso(double cantidad);
    void reintegro(double cantidad);
    double obtenerTipoDeInteres();
    bool asignarTipoDeInteres(double tipo);
    virtual CCuenta *clonar() = 0;
};

#endif // _CUENTA_H_ 

