La clase rational
implementa las operaciones aritméticas principales para números rationales.
Más...
#include <rational.h>
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. | |
rational & | operator= (const rational &) |
Copia desde "o" . | |
rational & | operator= (long) |
Asignación desde un "long" . | |
rational & | swap (rational &) |
Intercambia los valores de "*this" y "o" . | |
rational & | operator+= (const rational &) |
Le suma a "*this" el valor de "otro" . | |
rational & | operator-= (const rational &) |
Le resta a "*this" el valor de "otro" . | |
rational & | operator/= (const rational &) |
Divide "*this" por el valor de "num" . | |
rational | operator- () const |
"-x" . | |
rational & | fromString (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 . |
La clase rational
implementa las operaciones aritméticas principales para números rationales.
[1/3] == [2/6] == ... [9/27] == ...
[1/3] * [2/6] / [3/9] - [9/27]
Definición en la línea 32 del archivo rational.h.
ADH::rational::rational | ( | ) | [inline] |
Constructor de vector.
Definición en la línea 41 del archivo rational.h.
ADH::rational::rational | ( | long | num | ) | [inline] |
Constructor a partir de un valor entero.
Definición en la línea 42 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 43 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 47 del archivo rational.h.
void ADH::rational::Simplify | ( | ) | [private] |
Simplifica el numerador y el denomidador.
(m_num==0) ==> (m_den==1)
.m_num
y m_den
sean números primos relativos ie, mcd(m_num,m_den) == 1
.m_den
sea un número positivo.rational
. Definición en la línea 153 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 99 del archivo rational.h.
long ADH::rational::num | ( | ) | const [inline] |
Copia del numerador.
Definición en la línea 51 del archivo rational.h.
long ADH::rational::den | ( | ) | const [inline] |
Copia del denominador.
Definición en la línea 52 del archivo rational.h.
Copia desde "o"
.
"*this"
se pierde. 1
) Definición en la línea 112 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.
Intercambia los valores de "*this"
y "o"
.
1
)Definición en la línea 128 del archivo rational.h.
Le suma a "*this"
el valor de "otro"
.
Definición en la línea 169 del archivo rational.cpp.
Le resta a "*this"
el valor de "otro"
.
Definición en la línea 179 del archivo rational.cpp.
Divide "*this"
por el valor de "num"
.
Definición en la línea 167 del archivo rational.h.
rational ADH::rational::operator- | ( | ) | const [inline] |
"-x"
.
"-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"
.
"nStr"
debe estar escrita en el formato "[num/den]". Definición en la línea 200 del archivo rational.cpp.
"x*y"
.
"x*y"
. Definición en la línea 371 del archivo rational.cpp.
"x/y"
.
"x/y"
. y != 0
Definición en la línea 383 del archivo rational.cpp.
¿ x == y ?
Definición en la línea 184 del archivo rational.h.
¿ x < y ?
Definición en la línea 195 del archivo rational.h.
¿ x != y ?
Definición en la línea 221 del archivo rational.h.
¿ x <= y ?
Definición en la línea 226 del archivo rational.h.
¿ x >= y ?
Definición en la línea 231 del archivo rational.h.
¿ 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"
.
cout << r << q;
Definición en la línea 263 del archivo rational.cpp.
std::istream& operator>> | ( | std::istream & | CIN, | |
rational & | r | |||
) | [friend] |
Lee del flujo de texto "CIN"
el valor de "r"
.
"]"
. [ -+-+-+-+- 4 / -- -+ -- 32 ]
se lee como [1/8]
Definición en la línea 280 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
.
Ok()
Definición en la línea 31 del archivo rational.cpp.
long ADH::rational::m_num [private] |
Numerador.
Definición en la línea 34 del archivo rational.h.
long ADH::rational::m_den [private] |
Denominador.
Definición en la línea 35 del archivo rational.h.