1. Klasy, obiekty, dziedziczenie
— dodaj _na_koniec, dodającą na koniec kolejki liczbę całkowitą otrzymaną w argumencie,
pusta zwracającą true jeżeli kolejka jest pusta i f alse w przeciwnym wypadku.
1.47 (*) Napisz klasę stos będącą implementacją klasycznego stosu przechowującego liczby całkowite. Klasa stos powinna udostępniać następujące publiczne metody:
— bezargumentowy konstruktor tworzący pusty stos,
— konstruktor kopiujący,
— destruktor zwalniający pamięć zaalokowaną przez obiekt,
— z_wierzchu zwracająca go jako swoją wartość element z wierzchu stosu,
— usun_z_wierzchu usuwający element znajdujący się na wierzchu stosu,
— poloz_na_stos kładący na wierzchu stosu liczbę całkowitą otrzymaną w argumencie,
— pusty zwracającą true jeżeli stos jest pusty i f alse w przeciwnym wypadku.
1.48 Dopisz konstruktor kopiujący do klasy macierz z zadania 1.41.
1.49 Napisz funkcję, która dostaje jako argumenty dwa obiekty typu macierz z zadania 1.41 i zwraca jako wartość kopię tego z nich, który ma mniej komórek równych 0. Jeżeli w macierzach przechowywanych w otrzymanych w argmentach obiektach jest tyle samo zer, funkcja powinna zwrócić jako wartość kopię pierwszego argumentu.
1.50 Zmień funkcję z zadania 1.49 w taki sposób, żeby w argumentach zamiast dwóch obiektów typu macierz dostawała stałe referencje do nich.
1.51 Napisz klasę wektorn służącą do przechowywania wektorów w przestrzeniach wielowymiarowych. Wszystkie pola w klasie wektorn powinny być prywatne. Wektor powinien udostępniać następujące metody publiczne:
— konstruktor o jednym całkowitoliczbowym argumencie n tworzący n-wymiarowy wektor,
— destruktor zwalniający pamięć zaalokowaną przez obiekt,
— at zwracający referencję do współrzędnej wektora o indeksie podanym w argumencie metody,
wymiar zwracającą liczbę wymiarów wektora przechowywanego w obiekcie.
1.52 Napisz funkcję, która dostaje dwa argumenty typu wektorn z zadania 1.51 i zwraca jako wartość sumę otrzymanych w argumentach wektorów. Jeżeli wektory mają różną liczbę wymiarów, funkcja powinna zwrócić wektor równy temu z otrzymanych w argumentach wektorów, który ma większą liczbę wymiarów.