1.1. Klasy, obiekty
1.53 Zmień funkcję z zadania 1.52 w taki sposób, żeby w argumentach zamiast dwóch obiektów typu wektorn dostawała stałe referencje do nich.
1.54 Zaimplementuj klasę napis przechowującą napis w prywatnej tablicy znaków. Klasa ta powinna mieć następujące metody publiczne:
— bezparametrowy konstruktor tworzący pusty napis,
— konstruktor kopiujący,
— konstruktor, którego parametrem jest napis przechowywany w tradycyjny sposób, czyli w tablicy o elementach typu char, w której koniec napisu jest zaznaczony przez znak o numerze 0,
— destruktor usuwający wszystkie dynamiczne struktury danych przechowywane przez obiekt,
— metodę dopisz o jednym parametrze która do istniejącego napisu „dokleja” na końcu napis podany w parametrze (utwórz dwie wersje metody dopisz - z parametrem typu napis i tablicą znaków),
— metodę dług, zwracającą długość przechowywanego napisu.
1.55 (*) Zaimplementuj klasę tablica służącą do przechowywania liczb całkowitych. Klasa tablica powinna udostępniać:
— bezparametrowy konstruktor tworzący pustą tablicę,
— konstruktor kopiujący,
— destruktor usuwający wszystkie dynamiczne struktury danych przechowywane przez obiekt,
— metodę wartość zwracającą wartość komórki tablicy o indeksie podanym w argumencie tej metody,
— metodę przypisz nadającą komórce tabeli o podanym w pierwszym argumencie indeksie wartość podaną w drugim argumencie.
Obiekt tej klasy powinien zachowywać się jak tablica, która „rośnie” w miarę potrzeb. W przypadku użycia metody przypisz z indeksem « (i > 0) spoza zakresu dozwolonych indeksów tablica powinna być automatycznie powiększona do tablicy i + 1 elementowej.
1.56 (*) Napisz klasę lista służącą do przechowywania listy zakupów. Poszczególne pozycje listy mają się składać z dwóch elementów: nazwy towaru i ilości w jakiej planujemy go zakupić. Lista powinna udostępniać następujące publiczne metody:
— bezargumentowy konstruktor tworzący pustą listę,
— konstruktor kopiujący,
— destruktor,
— dodaj otrzymującą w argumentach nazwę towaru oraz ilość tego towaru jaką chcemy zakupić i dodającą te informacje do przechowywanej listy zakupów,
wypisz wypisującą na standardowym wyjściu wszystkie elementy listy,
— usuń usuwającą z listy towar podany w argumencie,