====== Klasy i ich konstruktory ====== * [[https://pl.wikibooks.org/wiki/C%2B%2B/Czym_jest_obiekt|Klasa i obiekty klas]] * deklaracje klas * funkcje składowe (metody) i pola * tworzenie obiektów * wskaźnik ''this'' * zakresy: ''private'', ''public'', ''protected'' * [[https://pl.wikibooks.org/wiki/C%2B%2B/Konstruktor_i_destruktor|Konstruktor i desktruktor]] * konstruktor domniemany * 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 pierwszych ''k'' kul * dociążoną metodę publiczna ''Wypisz()'', która wypisuje całą zawartość bębna Napisz program, który przetestuje działanie klasy ''Beben'' i przeprowadzi losowanie ''k'' liczb z ''n'', gdzie wartości ''k'' i ''n'' podaje użytkownik. ====== Zadanie 2: klasa Bęben ===== Uzupełnij implementację klasy ''Beben'' z powyższego ćwiczenia o następujące elementy: * konstruktor domniemany ''Beben()'', tworzący bęben o domyślnym rozmiarze 49 * konstruktor kopiujący ''Beben(const Beben& b)'', który tworzy pełną 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 domniemanych wartosciach (rozmiar 49) - wypełnij wszystkie bębny w tablicy, wymieszaj je i wypisz wynik. W efekcie otrzymujemy ''n'' losowań 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=282330|Zadanie 2]]