Liczby wymierne

Writing /home/grochu/public_html/wiki/data/cache/8/84cc8baee772c6edff8ecd6246d6f82b.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/cache/8/84cc8baee772c6edff8ecd6246d6f82b.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/d/db782e8f08e5d231199d457799b196b1.i failed
Writing /home/grochu/public_html/wiki/data/cache/d/db782e8f08e5d231199d457799b196b1.metadata failed
Writing /home/grochu/public_html/wiki/data/cache/8/84cc8baee772c6edff8ecd6246d6f82b.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /home/grochu/public_html/wiki/data/cache/0/03018b8a67a921673ddf75746ea2daf1.xhtml failed

W pliku wymierna.h zadeklaruj klasę wg. wzoru:

class Wymierna
{
   private :
     long licznik, mianownik;
     long NWD(long a, long b); 
 
 
    public :
       Wymierna(Wymierna &w);      
       Wymierna(long licznik,long mianownik);
       Wymierna(long licznik);
       void Wczytaj();
       void Wypisz();      
 
       Wymierna Dodaj(Wymierna w);
       Wymierna Pomnoz(Wymierna w);      
};

W pliku wymierna.c zdefiniuj wymagane metody i napisz program testujący poprawność działania. Metoda NWD() znajduje największy wspólny dzielnik dwóch liczb całkowitych. Wykorzystaj algorytm Euklidesa aby przechowywać liczby wymierne w skróconej postaci. Zaimplementuj operacje dodawania i mnożenia jako zaprzyjaźnione funkcje zwracające referencje do nowego obiektu klasy Wymierna.