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 <qvdefines.h>
00032
00033 #ifndef DOXYGEN_IGNORE_THIS
00034
00044 class QVRationalNumber: public QMap<int, int>
00045 {
00046 public:
00047 QVRationalNumber():QMap<int,int>() { }
00048 QVRationalNumber(const QVRationalNumber &rationalNumber):QMap<int,int>(rationalNumber) { }
00049 QVRationalNumber(const int integer):QMap<int,int>() { mult(integer); }
00050
00051 QVRationalNumber operator*(const QVRationalNumber &factInteger) const;
00052 QVRationalNumber operator/(const QVRationalNumber &factInteger) const;
00053 operator double() const;
00054
00055 void mult(const int integer);
00056 };
00057
00058 #include <iostream>
00059 std::ostream & operator<< (std::ostream &os, const QVRationalNumber &factInteger );
00060 #endif
00061 #endif