6866981248

6866981248



6 1. Klasy, obiekty, dziedziczenie

rżeniu obiekt typu semafor_bin powinien być w stanie wolny. Klasa semafor_bin powinna udostępniać następujące publiczne metody:

—    rezerwuj, której wywołanie zmienia stan semafora z wolny na zajęty (w przypadku, gdy semafor jest już w stanie zajęty, metoda nie powinna zmieniać jego stanu),

zwolnij, której wywołanie zmienia stan semafora z zajęty na wolny (w przypadku, gdy semafor jest już w stanie wolny, metoda nie powinna zmieniać jego stanu),

—    stan zwracającą wartość true gdy semafor jest w stanie wolny i false w przeciwnym wypadku.

Wszystkie pola klasy semafor_bin powinny być prywatne.

1.39    Napisz klasę semafor, której obiekty mogą przyjmować stany ze zbioru {0,1,... ,n — 1}, gdzie n jest argumentem konstruktora. Bezpośrednio po utworzeniu obiekt typu semafor powinien być w stanie 0. Klasa semafor powinna posiadać następujące publiczne metody:

semafor (unsigned int n) konstruktor, inicjujący obiekt, który może przyjmować stany ze zbioru {0,1,..., n — 1},

—    bezargumentowy konstruktor, inicjujący obiekt, który może przyjmować stany ze zbioru {0,1},

—    rezerwuj, której wywołanie zwiększa wartość stanu semafora o jeden (w przypadku, gdy semafor jest w stanie o maksymalnej wartości metoda nie powinna niczego robić),

—    zwolnij, której wywołanie zmniejsza wartość stanu semafora o jeden (w przypadku, gdy semafor jest w stanie 0, metoda nie powinna niczego robić),

stan zwracającą wartość true gdy semafor nie osiągnął jeszcze maksymalnej wartości stanu i false w przeciwnym wypadku.

Wszystkie pola klasy semafor powinny być prywatne.

1.40    Popraw klasę semafor z zadania 1.39 w taki sposób, żeby pamiętała identyfikatory procesów rezerwujących zasoby przy pomocy obiektów tej klasy. W tym celu metody rezerwuj i zwolnij powinny mieć cał-kowitoliczbowy argument id, w którym będą otrzymywać identyfikator procesu rezerwującego/zwalniającego zasób. Poprawiona klasa powinna ponadto posiadać publiczną metodę wypisz wypisującą na standardowym wyjściu identyfikatory procesów, które w danym momencie posiadają rezerwację zasobu.

1.41    Napisz klasę macierz, służącą do przechowywania macierzy kwadratowych liczb wymiernych. Klasa macierz powinna zawierać:

—    publiczne pole tab, zawierające wskaźnik do macierzy,

—    publiczne pole n, zawierające rozmiar macierzy,

—    konstruktor, kóry dostaje w argumencie dodatnią liczbę całkowitą i tworzy macierz o wymiarach n x n,



Wyszukiwarka

Podobne podstrony:
IMG$89 Jeśli klasa D dziedziczy z klasy B, a w klasie pochodnej D istnieje składowa obiektowa typu M
4 1. Klasy, obiekty, dziedziczenie muje jako argument obiekt typu punkt3 z zadania 1.18 i przypisuje
2 1. Klasy, obiekty, dziedziczenie 1.1. Klasy, obiekty 1.1    (r) Napisz klasę poczta
1. Klasy, obiekty, dziedziczenie —    dodaj _na_koniec, dodającą na koniec kolejki li
10 1. Klasy, obiekty, dziedziczenie — wyczysc usuwającą wszystkie elementy listy. 1.2.
przewodnikPoPakiecieR0 ” litu i iifiui wprowadzenie do R vjy 9 Konwertując obiekty typu wyliczeniow
1111 wzór na objętość V = 2* Vn2 + 7T~ * ,T * 71 Obiektowość typu:rozdzielczość punktu.Y=Yl rozdziel
Podstawowe pojęcia (2) właściwości, atrybuty - cechy informacyjne klasy-obiektu, przechowują informa
Załącznik nr 1 do Sprawozdania z prac dotyczących tworzenia Geobazy CHEMSEAGeobazy - klasy obie
2.1. Początki 13 >    # obiekty typu ,,list’’ przerobimy na wektory liczbowe: >
OPIS ZAŁOŻEŃ PROJEKTU TECHNICZNEGO OSNOWY POZIOMEJ III KLASY Obiekt Kraków - Bronowice Małe 1.
71418 P6010226 WATIAB Obiekty typu Mnlinę9 Aby przekazać funkcje matematyczne jako argumenty niekoni
Harmonogram spotkań L.p. Data Zagadnienia 1 13.02.12 Klasy i obiekty w języku C# - stale, pola,
DSC00670 Wskaźniki wf = (float * ) wl; //przypisanie wskaźnika do obiektu typu int 1 W // do wskaźni

więcej podobnych podstron