Pizzerie
Loading...
Searching...
No Matches
Order Class Reference

Třída reprezentující objednávku zákazníka. More...

#include <Order.h>

Collaboration diagram for Order:
Collaboration graph

Public Member Functions

 Order (int capacity, Customer *c)
 Konstruktor objednávky.
 ~Order ()
 Destruktor. Uvolní všechny položky objednávky z paměti.
CustomergetCustomer ()
 Vrátí ukazatel na zákazníka.
bool addItem (IMenuItem *i)
 Přidá položku do objednávky.
bool removeItem (string name)
 Odebere položku z objednávky podle jména.
double calculateTotal ()
 Vypočítá celkovou cenu všech položek.
int getItemCount () const
 Získá aktuální počet položek v objednávce.
IMenuItemgetItem (int index) const
 Získá konkrétní položku podle indexu.

Static Public Member Functions

static int getTotaOrders ()
 Získá celkový historický počet vytvořených objednávek napříč programem.

Private Attributes

IMenuItem ** items
 Dynamické pole ukazatelů na položky objednávky.
int itemCount
 Aktuální počet položek.
int capacity
 Maximální kapacita objednávky.
Customercustomer
 Ukazatel na zákazníka, kterému objednávka patří

Static Private Attributes

static int totalOrder =0
 Statické počítadlo všech vytvořených objednávek.

Detailed Description

Třída reprezentující objednávku zákazníka.

Obsahuje dynamické pole položek a odkaz na zákazníka.

Constructor & Destructor Documentation

◆ Order()

Order::Order ( int capacity,
Customer * c )

Konstruktor objednávky.

Parameters
capacityMaximální počet položek v objednávce.
cUkazatel na zákazníka.

◆ ~Order()

Order::~Order ( )

Destruktor. Uvolní všechny položky objednávky z paměti.

Member Function Documentation

◆ addItem()

bool Order::addItem ( IMenuItem * i)

Přidá položku do objednávky.

Parameters
iUkazatel na položku (IMenuItem).
Returns
True, pokud se přidání podařilo, jinak false (plná kapacita).

◆ calculateTotal()

double Order::calculateTotal ( )

Vypočítá celkovou cenu všech položek.

Returns
Součet cen položek v objednávce.

◆ getCustomer()

Customer * Order::getCustomer ( )

Vrátí ukazatel na zákazníka.

Returns
Ukazatel na objekt zákazníka.

◆ getItem()

IMenuItem * Order::getItem ( int index) const

Získá konkrétní položku podle indexu.

Parameters
indexPozice položky v poli.
Returns
Ukazatel na položku, nebo nullptr pokud je index neplatný.

◆ getItemCount()

int Order::getItemCount ( ) const

Získá aktuální počet položek v objednávce.

Returns
Počet položek.

◆ getTotaOrders()

int Order::getTotaOrders ( )
static

Získá celkový historický počet vytvořených objednávek napříč programem.

Returns
Počet objednávek (statická proměnná).

◆ removeItem()

bool Order::removeItem ( string name)

Odebere položku z objednávky podle jména.

Parameters
nameNázev položky k odebrání.
Returns
True, pokud byla položka smazána, jinak false.

Field Documentation

◆ capacity

int Order::capacity
private

Maximální kapacita objednávky.

◆ customer

Customer* Order::customer
private

Ukazatel na zákazníka, kterému objednávka patří

◆ itemCount

int Order::itemCount
private

Aktuální počet položek.

◆ items

IMenuItem** Order::items
private

Dynamické pole ukazatelů na položky objednávky.

◆ totalOrder

int Order::totalOrder =0
staticprivate

Statické počítadlo všech vytvořených objednávek.


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