|
Öffentliche Methoden |
| | Fraction () |
| | Fraction (long n, long d=1) throw (ZeroDivide) |
| | Konstruktor konstruiert Brueche aus Zaehler und Nenner.
|
| | Fraction (const Fraction &f) |
| long | getNumr () const |
| long | getDnom () const |
| long | gcd () const |
| | Berechnet den groessten gemeinsamen Teiler (ggT) des Bruchs.
|
| long | lcm () const |
| | Berechnet das kleinste gemeinsame Vielfache (kgV) des Bruchs.
|
| void | shorten () |
| | Kuerzt den Bruch durch Division von Zaehler und Nenner durch den ggT.
|
| Fraction | rcp () const throw (ZeroDivide) |
| double | getVal () const |
| void | getMixedFraction (long &whole, Fraction &f) const |
| | Wandelt Bruch in einen gemischten Bruch um.
|
| string | getMixedFraction () const |
| | Gibt den Bruch als gemischten Bruch in String-Form zurueck.
|
| string | getFraction () const |
| | Gibt Bruch als String zurueck.
|
| bool | isOverflow () const |
| Fraction & | operator *= (const Fraction &f) |
| | Multiplikation von Bruechen.
|
| Fraction & | operator/= (const Fraction &f) throw (ZeroDivide) |
| | Division von Bruechen.
|
| Fraction & | operator+= (const Fraction &f) |
| | Addition von Bruechen.
|
| Fraction & | operator-= (const Fraction &f) |
| | Subtraktion von Bruechen.
|
Öffentliche, statische Methoden |
| static void | setShortened (bool is) |
Private Attribute |
| long | mNumr |
| | Zaehler (numerator).
|
| long | mDnom |
| | Nenner (denominator).
|
Statische private Attribute |
| static bool | mIsShortened = true |
| | gibt an, ob Bruch gekuerzt werden soll
|
Freundbeziehungen |
| Fraction | operator * (const Fraction &f1, const Fraction &f2) |
| Fraction | operator/ (const Fraction &f1, const Fraction &f2) throw (ZeroDivide) |
| Fraction | operator+ (const Fraction &f1, const Fraction &f2) |
| Fraction | operator- (const Fraction &f1, const Fraction &f2) |
| bool | operator== (const Fraction &f1, const Fraction &f2) |
| bool | operator!= (const Fraction &f1, const Fraction &f2) |
| bool | operator< (const Fraction &f1, const Fraction &f2) |
| bool | operator<= (const Fraction &f1, const Fraction &f2) |
| bool | operator> (const Fraction &f1, const Fraction &f2) |
| bool | operator>= (const Fraction &f1, const Fraction &f2) |
| ostream & | operator<< (ostream &os, const Fraction &f) |
| | Ausgabeoperator fuer einen Bruch.
|
Die Klasse repraesentiert einen Bruch, der aus einem Zaehler und einem Nenner besteht. Zaehler und Nenner sind long-Variablen, dadurch kann bei Berechnungen kein Genauigkeitsverlust entstehen; allerdings wird ein Ueberlauf nicht automatisch erkannt, so dass ein Anwender selbst sicherstellen muss, dass Zaehler und/oder Nenner nicht zu gross werden.
Die Operatoren der vier Grundrechenarten und die ueblichen Vergleichsoperatoren stehen als ueberladene Operatorfunktionen zur Verfuegung. Weitere Funktionen kuerzen den Bruch, ermitteln kgV und ggT, erzeugen einen gemischten Bruch u.a.