Referencia de la Clase ADH::rational

La clase rational implementa las operaciones aritméticas principales para números rationales. Más...

#include <rational.h>

Lista de todos los miembros.

Métodos públicos

 rational ()
 Constructor de vector.
 rational (long num)
 Constructor a partir de un valor entero.
 rational (long num, long den)
 Constructor a partir de un valor quedbrado.
 rational (const rational &o)
 Constructor de copia.
 ~rational ()
 Destructor.
void set (long num=0, long den=1)
 Cambia el valor del número rational a "n/d".
long num () const
 Copia del numerador.
long den () const
 Copia del denominador.
rationaloperator= (const rational &)
 Copia desde "o".
rationaloperator= (long)
 Asignación desde un "long".
rationalswap (rational &)
 Intercambia los valores de "*this" y "o".
rationaloperator+= (const rational &)
 Le suma a "*this" el valor de "otro".
rationaloperator-= (const rational &)
 Le resta a "*this" el valor de "otro".
rationaloperator/= (const rational &)
 Divide "*this" por el valor de "num".
rational operator- () const
 "-x".
rationalfromString (const char *nStr)
 Establece el valor de "*this" a partir de la hilera "nStr".

Métodos privados

void Simplify ()
 Simplifica el numerador y el denomidador.

Atributos privados

long m_num
 Numerador.
long m_den
 Denominador.

Amigas

rational operator+ (const rational &, const rational &)
 "x+y".
rational operator- (const rational &, const rational &)
 "x-y".
rational operator * (const rational &, const rational &)
 "x*y".
rational operator/ (const rational &, const rational &)
 "x/y".
bool operator== (const rational &, const rational &)
 ¿ x == y ?
bool operator< (const rational &, const rational &)
 ¿ x < y ?
bool operator!= (const rational &, const rational &)
 ¿ x != y ?
bool operator<= (const rational &, const rational &)
 ¿ x <= y ?
bool operator>= (const rational &, const rational &)
 ¿ x >= y ?
bool operator> (const rational &, const rational &)
 ¿ x > y ?
std::ostream & operator<< (std::ostream &, const rational &)
 Graba el valor de "r" en el flujo "COUT".
std::istream & operator>> (std::istream &, rational &)
 Lee del flujo de texto "CIN" el valor de "r".
double real (const rational &)
 Convertidor a punto flotante.
long integer (const rational &)
 Convertidor a punto fijo.
bool check_ok (const rational &r)
 Verifica la invariante de la clase rational.


Descripción detallada

La clase rational implementa las operaciones aritméticas principales para números rationales.

Definición en la línea 33 del archivo rational.h.


Documentación del constructor y destructor

ADH::rational::rational (  )  [inline]

Constructor de vector.

Definición en la línea 42 del archivo rational.h.

ADH::rational::rational ( long  num  )  [inline]

Constructor a partir de un valor entero.

Definición en la línea 43 del archivo rational.h.

ADH::rational::rational ( long  num,
long  den 
) [inline]

Constructor a partir de un valor quedbrado.

Definición en la línea 44 del archivo rational.h.

ADH::rational::rational ( const rational o  )  [inline]

Constructor de copia.

Definición en la línea 46 del archivo rational.h.

ADH::rational::~rational (  )  [inline]

Destructor.

Definición en la línea 48 del archivo rational.h.


Documentación de las funciones miembro

void ADH::rational::Simplify (  )  [private]

Simplifica el numerador y el denomidador.

Definición en la línea 137 del archivo rational.cpp.

void ADH::rational::set ( long  num = 0,
long  den = 1 
) [inline]

Cambia el valor del número rational a "n/d".

Definición en la línea 100 del archivo rational.h.

long ADH::rational::num (  )  const [inline]

Copia del numerador.

Definición en la línea 52 del archivo rational.h.

long ADH::rational::den (  )  const [inline]

Copia del denominador.

Definición en la línea 53 del archivo rational.h.

rational & ADH::rational::operator= ( const rational o  )  [inline]

Copia desde "o".

Definición en la línea 113 del archivo rational.h.

rational & ADH::rational::operator= ( long  entero  )  [inline]

Asignación desde un "long".

Definición en la línea 144 del archivo rational.h.

rational & ADH::rational::swap ( rational o  )  [inline]

Intercambia los valores de "*this" y "o".

Complejidad:
O( 1 )
Devuelve:
*this
Ver también:
http://www.di-mare.com/adolfo/binder/c04.htm#sc08

Definición en la línea 129 del archivo rational.h.

rational & ADH::rational::operator+= ( const rational otro  ) 

Le suma a "*this" el valor de "otro".

Definición en la línea 153 del archivo rational.cpp.

rational & ADH::rational::operator-= ( const rational otro  ) 

Le resta a "*this" el valor de "otro".

Definición en la línea 163 del archivo rational.cpp.

rational & ADH::rational::operator/= ( const rational num  )  [inline]

Divide "*this" por el valor de "num".

Precondición:
  • (num != 0)

Definición en la línea 167 del archivo rational.h.

rational ADH::rational::operator- (  )  const [inline]

"-x".

Definición en la línea 177 del archivo rational.h.

rational & ADH::rational::fromString ( const char *  nStr  ) 

Establece el valor de "*this" a partir de la hilera "nStr".

Precondición:
"nStr" debe estar escrita en el formato "[num/den]".

Definición en la línea 184 del archivo rational.cpp.


Documentación de las funciones relacionadas y clases amigas

rational operator+ ( const rational x,
const rational y 
) [friend]

"x+y".

Definición en la línea 334 del archivo rational.cpp.

rational operator- ( const rational x,
const rational y 
) [friend]

"x-y".

Definición en la línea 344 del archivo rational.cpp.

rational operator * ( const rational x,
const rational y 
) [friend]

"x*y".

Definición en la línea 355 del archivo rational.cpp.

rational operator/ ( const rational x,
const rational y 
) [friend]

"x/y".

Definición en la línea 367 del archivo rational.cpp.

bool operator== ( const rational x,
const rational y 
) [friend]

¿ x == y ?

Definición en la línea 184 del archivo rational.h.

bool operator< ( const rational x,
const rational y 
) [friend]

¿ x < y ?

Definición en la línea 195 del archivo rational.h.

bool operator!= ( const rational x,
const rational y 
) [friend]

¿ x != y ?

Definición en la línea 221 del archivo rational.h.

bool operator<= ( const rational x,
const rational y 
) [friend]

¿ x <= y ?

Definición en la línea 226 del archivo rational.h.

bool operator>= ( const rational x,
const rational y 
) [friend]

¿ x >= y ?

Definición en la línea 231 del archivo rational.h.

bool operator> ( const rational x,
const rational y 
) [friend]

¿ x > y ?

Definición en la línea 216 del archivo rational.h.

std::ostream& operator<< ( std::ostream &  COUT,
const rational r 
) [friend]

Graba el valor de "r" en el flujo "COUT".

Definición en la línea 247 del archivo rational.cpp.

std::istream& operator>> ( std::istream &  CIN,
rational r 
) [friend]

Lee del flujo de texto "CIN" el valor de "r".

Precondición:
El número rational debe haber sido escrito usando el formato "[r/den]", aunque es permisible usar algunos blancos.
  • Se termina de leer el valor sólo cuando encuentra "]".
  • [ -+-+-+-+- 4 / -- -+ -- 32 ] se lee como [1/8]

Definición en la línea 264 del archivo rational.cpp.

double real ( const rational num  )  [friend]

Convertidor a punto flotante.

Definición en la línea 236 del archivo rational.h.

long integer ( const rational num  )  [friend]

Convertidor a punto fijo.

Definición en la línea 241 del archivo rational.h.

bool check_ok ( const rational r  )  [friend]

Verifica la invariante de la clase rational.

Rep Modelo de la clase:
    +---+
    | 3 | <==  m_num == numerador del número racional
    +---+
    |134| <==  m_den == denominador del número racional
    +---+
Comentarios:
Libera al programador de implementar el método Ok()

Definición en la línea 34 del archivo rational.cpp.


Documentación de los datos miembro

long ADH::rational::m_num [private]

Numerador.

Definición en la línea 35 del archivo rational.h.

long ADH::rational::m_den [private]

Denominador.

Definición en la línea 36 del archivo rational.h.


La documentación para esta clase fué generada a partir de los siguientes ficheros:
Generado el Wed Apr 9 13:16:23 2008 para Prueba de la clase rational: por  doxygen 1.5.4