Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ OOP - implementace stacku pomocí pointerů

A este k objektovemu modelu, ptz mas v tom asi gulas.

Objekt zasobnik v OOP by mal byt objekt ktory ma vsetko co potrebuje v sebe a navonok nepredavas ziadne pointre !!! Pointer na top of stack by mal byt ako private a pristzupny vyhradne z vnutra triedy, nie zvonku.
T.j. ak robis class stack tak tam bude
private:
nejakastruktura *TopOfStack;
a nic viac (samozrejme public funkcie tam budu)
nejakastruktura bude struct {data, predch_pointer}

V konstruktore urobis TopOfStack=NULL.
V destruktore si otestujes ci TopOfStack je NULL, ak nie tak mozes robit Pop az pokial TopOfStack bude NULL, kvoli uvolneniu pamate.
Funkcia Push bude mat ako parameter hodnotu (data), nic viac. Funkcia Pop nebude mat ziaden parameter len navr. hodnotu.

To je spravny OOP model stacku, ty to robis uplne naopak, nezmyselne (dovolujes ludom mimo tvoj objekt ovplyvnit tvoj top of stack, co je ale prave to comu ma OOP zabranit, ako "ochrana" pred chybami programatorov ktory budu stack pouzivat).

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny