Autópálya
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Autopalya Class Reference

#include <autopalya.h>

Public Member Functions

 Autopalya ()
 
 Autopalya (int hossz, int autok)
 
void ciklus ()
 
void hossz_valtozas (int uj_hossz)
 
void autok_valtozas (int uj_autok)
 

Private Member Functions

int kovi_auto (int auto_ind) const
 
void autok_visszaallit () const
 

Private Attributes

Auto_tarolo sav
 

Detailed Description

Ez a felhasználó felé is publikus osztály. Ha egy autópályát szeretne modellezni a programjában, akkor egy Autopalya objektumot kell készíteni. A másik két osztályt ez az osztály tartalmazza, és csak a belső működéshez szükségesek. Az osztály feladata a feladatkiírásbanban megadott ciklusok végrehajtása és a másik két osztály kezelése.

Constructor & Destructor Documentation

◆ Autopalya() [1/2]

Autopalya::Autopalya ( )

Az Autopalya osztály default konstruktora, ami a tárolót inicializálja (annak a default konstruktorával). Ha ezt a konstruktort használjuk, akkor szükség van a hossz_valtozas() és az autok_valtozas() függvényekre, az autópálya paramétereinek beállításához.

◆ Autopalya() [2/2]

Autopalya::Autopalya ( int  hossz,
int  autok 
)

Az Autopalya osztály kétparaméteres konstruktora. Inicializálja az Auto_tarolo-t, ellenőrzi majd inicializálja a paramétereket.

Parameters
hosszAz autópálya hossza cellákban
autokAz autók száma az autópályán
Exceptions
std::invalid_argumentHa autok < 2 || autok >= hossz.

Member Function Documentation

◆ autok_valtozas()

void Autopalya::autok_valtozas ( int  uj_autok)

Ellenőrzi a paraméterként adott új autók számát, és a tároló megfelelő függvényét meghívja.

Parameters
uj_autokErre az értékre állítja az autók számát.
Exceptions
std::invalid_argumentHa nem teljesülnek a feltételek a paraméterre.

◆ autok_visszaallit()

void Autopalya::autok_visszaallit ( ) const
private

A tömb minden autóját visszaállítja abba az állapotba, hogy lehessen rajtuk a ciklust végezni.

◆ ciklus()

void Autopalya::ciklus ( )

A feladatleírásban megadott 4 pontot hajtja végre a segédosztályokon, majd kirajzolja az autópálya jelenlegi állását. Az autópálya végétől kezdve, visszafele minden autóra megvizsgálja, hogy hány üres cella van előtte a kovi_auto() függvénnyel, meghatározza az autó új sebességét az Auto osztály sebesseg_valtozas() függvényével, végül előremozgatja az autót az új sebességével az Auto_tarolo osztály csere() függvényével. Közben figyel arra, hogy minden autót csak egyszer vizsgáljon.

◆ hossz_valtozas()

void Autopalya::hossz_valtozas ( int  uj_hossz)

Ellenőrzi a paraméterként adott új hossz értékét, és a tároló megfelelő függvényét meghívja. Végül kirajzolja a jelenlegi állapotot (kivéve, ha először állítjuk be a hosszt).

Parameters
uj_hosszErre az értékre állítja az autópálya hosszát
Exceptions
std::invalid_argumentHa nem teljesülnek a feltételek a paraméterre.

◆ kovi_auto()

int Autopalya::kovi_auto ( int  auto_ind) const
private

Megadja, hogy az adott indexű autó előtt hány üres cella van a következő autóig. Ha a sorban az utolsó autót vizsgáljuk, akkor a következő autó a sorban első autóra vonatkozik.

Parameters
auto_indA vizsgált autó indexe a sav tömbben
Returns
Üres cellák száma a következő autóig

Member Data Documentation

◆ sav

Auto_tarolo Autopalya::sav
private

Az autópálya egyetlen sávja, ami egy Auto_tarolo objektum, ebben tárolódnak az autók.


The documentation for this class was generated from the following files: