Klasy i ich konstruktory
-
- deklaracje klas
- funkcje składowe (metody) i pola
- tworzenie obiektów
- wskaźnik
this
- zakresy:
private
,public
,protected
-
- 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ącyn
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 don
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 wypisujeopis
oraz numery pierwszychk
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ębnab
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ówBeben
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