Klasy i ich konstruktory

Klasa i obiekty klas

deklaracje klas

funkcje składowe (metody) i pola

tworzenie obiektów

wskaźnik this

zakresy: private, public, protected

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 Zadanie 2