Site hosted by Angelfire.com: Build your free website today!
Página principal | Lista de namespace | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros

Referencia de la Clase 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 ()
void asigne (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 agrega a "*this" el valor de "otro".
rationaloperator-= (const rational &)
 Le quita a "*this" el valor de "otro".
rationaloperator *= (const rational &)
 Multiplica "*this" por "num".
rationaloperator/= (const rational &)
 Divide a "*this" por el valor de "num".
rational operator- ()
 "-x"

Métodos privados

void simplifique ()
 Transforma el número rational de manera que el numerador y el denominador sean primos relativos, asegurando además que el denominador es siempre positivo.

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 ?
ostream & operator<< (ostream &, const rational &)
 Graba el valor de "r" en el flujo "COUT".
istream & operator>> (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.


Documentación del constructor y destructor

rational::rational  )  [inline]
 

constructor de vector

rational::rational long  num  )  [inline]
 

Constructor a partir de un valor entero.

rational::rational long  num,
long  den
[inline]
 

Constructor a partir de un valor quedbrado.

rational::rational const rational o  )  [inline]
 

Constructor de copia.

rational::~rational  )  [inline]
 


Documentación de las funciones miembro

void rational::simplifique  )  [private]
 

Transforma el número rational de manera que el numerador y el denominador sean primos relativos, asegurando además que el denominador es siempre positivo.

  • Restaura la invariante de la clase

void rational::asigne long  num = 0,
long  den = 1
[inline]
 

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

long rational::num  )  const [inline]
 

Copia del numerador.

long rational::den  )  const [inline]
 

Copia del denominador.

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

Copia desde "o".

  • El valor anterior de "*this" se pierde

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

rational & rational::operator= long   )  [inline]
 

Asignación desde un "long".

rational & 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

rational & rational::operator+= const rational  ) 
 

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

rational & rational::operator-= const rational  ) 
 

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

rational & rational::operator *= const rational  )  [inline]
 

Multiplica "*this" por "num".

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

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

Precondición:
  • (num != 0)

rational rational::operator-  )  [inline]
 

"-x"

  • Menos unario
  • Calcula y retorna el valor "-x"


Documentación de las funciones relacionadas y clases amigas

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

"x+y"

  • Calcula y retorna la suma "x+y"

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

"x-y"

  • Calcula y retorna la resta "x-y"

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

"x*y"

  • Calcula y retorna la multiplicación "x*y"

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

"x/y"

  • Calcula y retorna la división "x/y"

Precondición:
y != 0

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

¿ x == y ?

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

¿ x < y ?

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

¿ x != y ?

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

¿ x <= y ?

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

¿ x >= y ?

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

¿ x > y ?

ostream& operator<< ostream &  COUT,
const rational r
[friend]
 

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

  • Graba el valor en el formato [num/den].

  • En particular, este es el operador que se invoca cuando se usa, por ejemplo, este tipo de instrucción:
              cout << r << q;
    

istream& operator>> 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]

double real const rational num  )  [friend]
 

Convertidor a punto flotante.

long integer const rational num  )  [friend]
 

Convertidor a punto fijo.

bool check_ok const rational r  )  [friend]
 

Verifica la invariante de la clase rational.

  • El denominador siempre es un número positivo.
  • El número rational siempre está simplificado, o sea que el numerador y el denominador siempre son números primos relativos.
  • Cero se representa como (0/1).

Precondición:
Libera al programador de implementar el método Ok()
Ver también:
http://www.di-mare.com/adolfo/binder/c04.htm#sc11


Documentación de los datos miembro

long rational::m_num [private]
 

Numerador.

long rational::m_den [private]
 

Denominador.


La documentación para esta clase fué generada a partir de los siguientes archivos:
Generado el Tue Aug 16 17:56:43 2005 para A33018 Tarea Programada #1 por  doxygen 1.4.4