Página principal   Lista alfabética   Lista de componentes   Lista de archivos   Miembros de las clases   Páginas relacionadas  

Referencia de la Clase Lector_Palabras

T.D.A. Lector_Palabras. Más...

#include <lector_palabras.h>

Lista de todos los miembros.

Métodos públicos

 Lector_Palabras ()
 Constructor por defecto. Más...

 Lector_Palabras (std::istream &i)
 Declaración con asociación a istream. Más...

 Lector_Palabras (const std::string &nombre)
 Declaración con asociación a fichero. Más...

 ~Lector_Palabras ()
 destructor.

void asociar (std::istream &i)
 Asocia el lector con un flujo de entrada. Más...

void asociar (const std::string &nombre)
 Asocia el lector con un fichero. Más...

 operator void * () const
 Conversor para condiciones. Más...

bool operator! () const
 Estado del lector. Más...

Lector_Palabras& operator>> (std::string &str)
 Lectura de una palabra. Más...


Métodos privados

 Lector_Palabras (const Lector_Palabras &)
Lector_Palabras& operator= (const Lector_Palabras &)

Atributos privados

std::istream* f
bool fichero_abierto


Descripción detallada

T.D.A. Lector_Palabras.

Una instancia l del tipo de datos abstracto Lector_Palabras es un filtro de un flujo de entrada para la lectura de palabras.

Una instancia l se denominará lector, y su función es la de establecer un filtro desde un flujo de entrada para facilitar la lectura de palabras independientes. Diremos que el lector está asociado a dicho flujo.

Un ejemplo de su uso:

#include <lector_palabras.h>
#include <iostream>
#include <clocale> // setlocale
#include <cctype> // tolower
using namespace std;

string a_minuscula(const string& str)
{
  string s(str);
  for (string::size_type i=0;i<s.length();i++)
    s[i]=tolower(s[i]);
  return s;
}

int main(int argc, char*argv[])
{
  Lector_Palabras l;

  setlocale(LC_CTYPE,""); // Se establece idioma
  switch (argc) {
    case 1:
      l.asociar(cin); // se lee desde entrada estándar
      break;
    case 2:
      l.asociar(string(argv[1])); // desde fichero
      if (!l) {
        cerr <<"El fichero "<<argv[1]<< " no existe"<<endl;
        return 1;
      }
      break;
    default:
      cerr << "Uso: "<<argv[0]<< " | "<<argv[0] <<" <fichero fuente>" << endl;
      return 1;
  }

  string str;
  while (l>>str) {
    cout << "Palabra: "<<a_minuscula(str)<<endl;
  }

  return 0;
}

Definición en la línea 29 del archivo lector_palabras.h.


Documentación del constructor y destructor

Lector_Palabras::Lector_Palabras ( )
 

Constructor por defecto.

Postcondición:
El lector se crea sin establecer ninguna asociación

Definición en la línea 14 del archivo lector_palabras.cpp.

Lector_Palabras::Lector_Palabras ( std::istream & i )
 

Declaración con asociación a istream.

Parámetros:
i   istream asociado al lector
Postcondición:
Crea un nuevo lector de palabras y lo asocia a un istream. Esta asociación seguirá mientras no se establezca una nueva.

Definición en la línea 17 del archivo lector_palabras.cpp.

Lector_Palabras::Lector_Palabras ( const std::string & nombre )
 

Declaración con asociación a fichero.

Parámetros:
nombre   fichero con el que asociar el lector
Postcondición:
Si el fichero nombre no existe, el lector se crea sin asociación.

Definición en la línea 21 del archivo lector_palabras.cpp.


Documentación de las funciones miembro

void Lector_Palabras::asociar ( const std::string & nombre )
 

Asocia el lector con un fichero.

Parámetros:
nombre   fichero con el que se asocia el lector
Si   el fichero nombre no existe, el lector se crea sin asociación. Si el lector ya estaba asociado, elimina la asociación anterior.

Definición en la línea 38 del archivo lector_palabras.cpp.

void Lector_Palabras::asociar ( std::istream & i )
 

Asocia el lector con un flujo de entrada.

Parámetros:
i   flujo con el que se asocia el lector.
Postcondición:
Si el lector ya estaba asociado, elimina la asociación anterior.

Definición en la línea 31 del archivo lector_palabras.cpp.

Referenciado por Lector_Palabras().

Lector_Palabras::operator void * ( ) const
 

Conversor para condiciones.

Postcondición:
Conversión similar a la de los flujos. Permite usar el lector como una condición que devuelve true si la siguiente operación de lectura pudiera tener éxito.

Definición en la línea 55 del archivo lector_palabras.cpp.

bool Lector_Palabras::operator! ( ) const
 

Estado del lector.

Devuelve:
el valor true si la siguiente operación de lectura seguro que no va a tener éxito.
Nota:
Esta operación funciona como operator! de flujos C++

Definición en la línea 60 del archivo lector_palabras.cpp.

Lector_Palabras & Lector_Palabras::operator>> ( std::string & str )
 

Lectura de una palabra.

Parámetros:
str   Variable donde se almacenará el resultado de la lectura
Postcondición:
Si el lector no está asociado a un flujo, o el flujo se ha terminado (fin de entrada) devuelve la cadena vacía.

Definición en la línea 65 del archivo lector_palabras.cpp.


La documentación para esta clase fué generada a partir de los siguientes archivos:
Programación en C++. Desarrollado por Antonio Garrido, © 2001