====== Klasy i ich konstruktory ====== * [[https://pl.wikibooks.org/wiki/C%2B%2B/Czym_jest_obiekt|Klasy i obiekty klas]] * deklaracje klas * pola i funkcje składowe klas (metody) * tworzenie obiektów * wskaźnik ''this'' * zakresy dostępu: ''private'', ''public'', ''protected'' * [[https://pl.wikibooks.org/wiki/C%2B%2B/Konstruktor_i_destruktor|Konstruktor i destruktor]] * konstruktor domniemany (domyślny) * konstruktor kopiujący * instrukcje inicjalizujące ====== Klasa: Bęben ====== Zaimplementuj klasę ''Beben'' realizującą bęben maszyny losującej, która pozwoli przeprowadzać losowanie ''k'' liczb z ''n'' bez zwracania (identycznie jak w zadaniu z poprzednich zajęć). Zdefiniuj konstruktor, destruktor, pola i funkcje składowe: * pole prywatne ''int rozmiar'' * pole prywatne ''int *kule'' * pole prywatne ''string opis'' * publiczny konstruktor inicjujący bęben o podanym rozmiarze ''n'', który tworzy bęben mieszczący ''n'' kul i ustawia opis na ''"Beben stworzony"'' * destruktor - sprzątanie (zwalnianie pamięci) * metodę publiczną ''Wypelnij()'', która wypełnia bęben kulami od 1 do ''n'' i ustawia opis na ''"Beben gotowy do losowania"''. Metoda zwraca referencję do zainicjowanego bębna. * metodę publiczną ''Mieszaj()'', która miesza zawartość bębna i ustawia opis na ''"Zawartosc wymieszana"''. Metoda zwraca referencję do wymieszanego bębna. * metodę publiczną ''Wypisz(int k)'', która wypisuje ''opis'' oraz numery ''k'' pierwszych kul * przeciążoną metodę publiczną ''Wypisz()'', która wypisuje całą zawartość bębna Napisz program, który przetestuje działanie klasy ''Beben'' i przeprowadzi losowanie ''k'' liczb z ''n'' (wartości ''k'' i ''n'' podaje użytkownik). **Diagram UML klasy Beben** {{zajecia:po:beben.png?200|}} ====== Zadanie 2: klasa Bęben ===== Uzupełnij implementację klasy ''Beben'' z powyższego ćwiczenia o następujące elementy: * domyślny konstruktor tworzący bęben o rozmiarze 49 * konstruktor kopiujący ''Beben(const Beben& b)'', który tworzy pełną (głęboką) kopię bębna ''b'' Napisz program, który przeprowadzi ''n'' losowań Lotto (6 liczb z 49) i wypisze wyniki na ekranie w taki sposób: - wczytaj wartość ''n'' z klawiatury - stwórz dynamicznie tablicę zawierającą ''n'' obiektów ''Beben'' o domyślnych wartościach (rozmiar 49) - wypełnij wszystkie bębny w tablicy, wymieszaj je i wypisz wynik. W efekcie otrzymujemy ''n'' losowań po 6 liczb z 49 Rozwiązanie w postaci plików nagłówkowych ''*.h'' i źródłowych ''*.cpp'' umieść w Moodle [[https://moodle.umk.pl/mod/assign/view.php?id=361020|Zadanie 2]]