Klasy i ich konstruktory.

Zadania

Wielomian

W pliku nagłówkowym wielomian.h zadeklaruj klasę Wielomian zgodnie z opisem podanym na wykładzie.

class Wielomian { private : int st; double *wsp; public : Wielomian Pochodna(int ktora=1); Wielomian(); Wielomian(int st, double *wsp); Wielomian(Wielomian &); ~Wielomian(); };

W pliku źródłowym wielomian.c zdefiniuj konstruktory, destruktor i metodę Pochodna(). Zaimplementuj metodę Wypisz(), która wyświetli wielomian w terminalu podając liczby rzeczywiste z dokładnością do 2 miejsc po przecinku.
Przykład:

f(x) = -1.32 x^3 + x + 3.12

Zaimplementuj metodę Wczytaj(), która wczyta z terminala współczynniki wielomianu.
Zaimplementuj prywatny konstruktor Wielomian(int stopien), który przydziela tablicę na współczynniki wielomianu ale jej nie inicjuje.
Zaimplementuj zaprzyjaźnioną funkcję

Wielomian Dodaj(Wielomian &, Wielomian &); Wielomian Iloczyn(Wielomian &, Wielomian &);

Liczby wymierne

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.

Słownik

Przetransformuj program z poprzednich zajęć do postaci obiektowej. Rozbij zadanie na 3 obiekty:

Klasa Slownik zadeklarowana jest następująco:

class Slownik { private: Drzewo drzewo; public: Slownik(); Slownik(ifstream &i); Slownik(char *filename); Dodaj(string slowo); Dodaj(char *slowo); Wyswietl(); };

Klasa Drzewo zadeklarowana jest następująco:

class Drzewo { private: Element *korzen; Element* Dodaj(Element *e,string slowo); void Wyswietl(Element *e); void Usun(Element *e); public: Drzewo(); void Dodaj(string slowo); void Wyswietl(); ~Drzewo(); };

Deklaracja struktury Element

struct Element { public: int ilosc; string slowo; Element *lewy; Element *prawy; Element(); Element(string slowo); Wyswietl(); };