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.
1.7.1