1.1. Klasy, obiekty 5
1.31 Napisz klasę odcinek przechowująca współrzędne w dwuwymiarowym kartezjańskim układzie współrzędnych początku i końca odcinka. Klasa odcinek powinna udostępniać następujące publiczne metody:
— wczytaj wczytującą współrzędne początku i końca odcinka ze standardowego wejścia,
wypisz wypisującą współrzędne początku i końca odcinka na standardowym wyjściu,
— przecięcie o argumencie typu odcinek zwracającą true, jeżeli otrzymany w argumencie odcinek przecina się z tym, którego dane są przechowywane w obiekcie.
1.32 Napisz funkcję zwracającą jako wartość długość odcinka, którego dane przechowywane są w otrzymanym w argumencie obiekcie typu odcinek z zadania 1.31.
1.33 (r) Napisz klasę wskaźnik zawierającą jedno pole prywatne wsk typu wskaźnik do zmiennej typu int. Klasa wskaźnik powinna udostępniać następujące publiczne metody:
— utwórz, która dla otrzymanej w argumencie dodatniej liczby całkowitej n, rezerwuje pamięć dla n-elementowej tablicy o elementach typu int i zapisuje w polu wsk wskaźnik do nowo utworzonej tablicy, zwroc zwracającą jako wartość wskaźnik przechowywany w polu wsk,
— zwolnij zwalniającą obszar pamięci wskazywany przez pole wsk i nadająca temu polu wartość NULL,
kopiuj, która otrzymuje jako argument referencję ref do zmiennej typu wskaźnik i dokonuje przypisania ref . wsk=wsk.
1.34 (r) Napisz funkcję przepisz, która dostaje jako argumenty wskaźnik t do tablicy o elementach typu int oraz referencję ref do zmiennej typu wskaźnik z zadania 1.33 i przypisuje wskaźnik t do pola wsk obiektu, do którego referencję przechowuje zmienna ref .
1.35 (r) Do klasy wskaźnik z zadania 1.33 dopisz:
— bezargumentowy konstruktor, przypisujący do pola wsk wartość NULL,
— destruktor zwalniający obszar pamięci wskazywany przez pole wsk (o ile ma ono wartość różną od NULL).
1.36 (r) Napisz klasę identyfikator, która udostępnia tylko jedną publiczną bezargumentową metodę id. Metoda id powinna zwracać, za każdym razem inną, nieujemną liczbę całkowitą.
1.37 (r) Napisz klasę identyf ikator2, która udostępnia tylko jedną publiczną bezargumentową metodę id. Metod id powinna zwracać kolejne liczby całkowite począwszy od 0.
1.38 (r) Napisz klasę semafor_bin, której obiekty w każdym momencie są w jednym z dwóch stanów wolny lub zajęty. Bezpośrednio po utwo-