00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVRATIONALNUMBER_H
00026 #define QVRATIONALNUMBER_H
00027
00028 #include <math.h>
00029
00030 #include <QMap>
00031 #include <qvcore/qvdefines.h>
00032
00033
00034 #ifndef DOXYGEN_IGNORE_THIS
00035
00045 class QVRationalNumber: public QMap<int, int>
00046 {
00047 public:
00048 QVRationalNumber():QMap<int,int>() { }
00049 QVRationalNumber(const QVRationalNumber &rationalNumber):QMap<int,int>(rationalNumber) { }
00050 QVRationalNumber(const int integer):QMap<int,int>() { mult(integer); }
00051
00052 QVRationalNumber operator*(const QVRationalNumber &factInteger) const;
00053 QVRationalNumber operator/(const QVRationalNumber &factInteger) const;
00054 operator double() const;
00055
00056 void mult(const int integer);
00057 };
00058
00059 #include <iostream>
00060 std::ostream & operator<< (std::ostream &os, const QVRationalNumber &factInteger );
00061 #endif
00062 #endif