Problem z klasą -> prośba o sprawdzenie

0

http://ideone.com/k5IaE
Mogłabym prosić kogoś o spojrzenie na kod świeżem okiem i napisanie gdzie jest problem?
Za pomoc dziękuję serdecznie.

0

bool empty()
{
return wybrany == 0;
}

0

poza tym, powinnaś zablokować operator = i konstruktor kopiujący (dodać pusty w private), ponieważ przy kopiowaniu skopiuje się wszystko ze wskaźnikiem włącznie, który później będzie dwukrotnie zwalniany, już nie wspominając o tym, że oba obiekty będą operować na tych samych danych

0

Ok, dziękuję za odp. pomogło :)
Ja dopiero co stawiam pierwsze kroki w programowaniu i liczę na waszą pomoc.
@krwq czy mogłabym cię prosić o pokazanie samej klasy jak według ciebie powinna wyglądać poprawnie, bo próbuję robić różne modyfikacje z konstruktorem, etc. o których jeszcze wspomniałeś, ale program mi się wysypuje.

0

chodzi tylko o dodanie w sekcji private:
nazwaklasy& operator=(const nazwaklasy& o) {}
nazwaklasy(const nazwaklasy& o) {}

0

A lepiej napisać to tak:

public:
  nazwaklasy &operator=(const nazwaklasy &o) = delete;
  nazwaklasy(const nazwaklasy &o) = delete;
0

Zrobiłam tak jak mi polecacie, ale coś mi nie wychodzi :/ http://ideone.com/k5IaE

0

Trza użyć C++11: http://ideone.com/ggPGM

0

Dzięki, jakby ktoś mógł w przystępny sposób mi wytłumaczyć co robią te dwie linijki?

0

Usuwają domyślny konstruktor kopiujący i operator przypisania.

0
stack &operator=(const stack &o) = delete;

W ogóle tego nie rozumiem, po co dokładnie jest ta linijka?
Skąd &operator ... &o ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1