#include <auto_tarolo.h>
Auto objektumokat tároló osztály.
◆ Auto_tarolo()
Auto_tarolo::Auto_tarolo |
( |
| ) |
|
|
inline |
Az Auto_tarolo osztály konstruktora, ami az autópálya hosszát és az autók számát nullára állítja, az autókat tároló tömböt pedig NULL-ra. A szimuláció elkezdéséhez be kell állítani a két paraméter értékét a hossz_no() és az autok_no() függvényekkel.
◆ ~Auto_tarolo()
Auto_tarolo::~Auto_tarolo |
( |
| ) |
|
Destruktor, ami felszabadítja a rendszer összes autóját, majd magát a tömböt is
◆ autok_csokken()
void Auto_tarolo::autok_csokken |
( |
int |
torlendo_autok | ) |
|
A paraméterben kapott értékkel lecsökkenti a rendszerben lévő autók számát. Véletlenszerűen választja ki a törlendő autókat. A paraméter értékét nem ellenőrzi, az a hívó dolga.
- Parameters
-
torlendo_autok | Ennyi autót töröl a rendszerből. |
◆ autok_no()
void Auto_tarolo::autok_no |
( |
int |
uj_autok | ) |
|
A paraméterben kapott értékkel megnöveli a rendszerben lévő autók számát. Ha még nincs autó a rendszerben, vagyis a szimuláció még nem kezdődött el, akkor álló helyzetből indítja az új autókat. Az új autókat véletlenszerűen szórja el a már létező autók között. Ezzel a függvénnyel kell az autók számát inicializálni, hiszen a konstruktor azt 0-ra állítja.
- Parameters
-
uj_autok | Ennyi autót vesz fel a rendszerbe |
◆ csere()
void Auto_tarolo::csere |
( |
int |
regi_ind, |
|
|
int |
uj_ind |
|
) |
| |
Megcseréli a két index által mutatott címet.
- Parameters
-
regi_ind | Első index, itt Auto*-nek kell szerepelnie |
uj_ind | Második index, itt NULL-nak kell szerepelnie |
- Exceptions
-
std::invalid_argument | Ha valamelyik index nem jó adatra mutat |
◆ get_autok()
int Auto_tarolo::get_autok |
( |
| ) |
const |
|
inline |
Az Auto_tarolo autok_szama tagváltozójának getter függvénye.
- Returns
- A jelenleg tárolt autók száma
◆ get_hossz()
int Auto_tarolo::get_hossz |
( |
| ) |
const |
|
inline |
Az Auto_tarolo hossz tagváltozójának getter függvénye.
- Returns
- Az autópálya jelenlegi hossza.
◆ hossz_csokken()
void Auto_tarolo::hossz_csokken |
( |
int |
torlendo_cellak | ) |
|
A paraméterben kapott értékkel lecsökkenti a tároló hosszát, azaz az utolsó torlendo_cellak cellát törli a rendszerből. Ha ezeken a mezőkön voltak autók, azokat is törli, majd meghívja az autok_no() függvényt a törölt autók számával, hogy visszaállítsa az autók számát az eredetire. A paraméter értékét nem ellenőrzi, az a hívó dolga.
- Parameters
-
torlendo_cellak | Hány cellát szeretnénk törölni. |
◆ hossz_no()
void Auto_tarolo::hossz_no |
( |
int |
uj_cellak | ) |
|
Megnöveli a tároló, és így az autópálya hosszát a paraméterben kapott értékkel. Ehhez új tömböt foglal, ahol az új cellákat mind NULL-ra állítja, majd a régi tömböt törli. Ezzel a függvénnyel kell az autópálya hosszát inicializálni, hiszen a konstruktor azt 0-ra állítja.
- Parameters
-
uj_cellak | Ennyi cellával növeljük meg a tömböt |
◆ operator[]()
Auto * Auto_tarolo::operator[] |
( |
int |
i | ) |
const |
Indexelő operátor
- Parameters
-
- Returns
- A tömb i-edik Auto*-e
◆ rajzol()
void Auto_tarolo::rajzol |
( |
| ) |
const |
Kirajzolja a képernyőre az autópálya jelen állását. Elválasztásként az autópálya teljes hosszában ír egy sort "-" karakterből, majd minden cellába " "-t ír, ha üres a cella, "o"-t egyébként. Végül egy újabb "-" sorral zárja.
◆ autok
Auto** Auto_tarolo::autok |
|
private |
Az Auto*-eket tartalmazó tömb
◆ autok_szama
int Auto_tarolo::autok_szama |
|
private |
Autók száma az autópályán, azaz hány nem üres cella van a rendszerben
◆ hossz
A tömb, azaz az autópálya hossza (cellákban)
The documentation for this class was generated from the following files: