Stos obiektowo

0

Witam, zaczynam naukę z programowaniem obiektowym w c++. Za zadanie miałem implementację stosu obiektowo. Wszystko działa więc jest chyba dobrze, ale jak coś ze składnią źle czy jakiś inny błąd to proszę o zwrócenie uwagi.
Teraz klasę Stack mam przerobić na wersję listową.

Różnicą będzie wykorzystanie w wewnętrznej implementacji własnej klasy ListElem(element listy jednokierunkowej), dzięki czemu zniknie ograniczenie na liczbę elementów w stosie.

Nie rozumiem zbytnio tego polecenia i potrzebuję pomocy.

#include <iostream>

const int MAX = 100;
using namespace std;


class Stack {
	private:
		int n; //aktualna liczba elementów na stosie
		int data[MAX]; //tablica przechowująca elementy

	public:

	Stack(int tab[], int size)
	{
	    cout << "Tworze nowy stos" << endl;
	    n=0;
		for (int i=0;i<size;i++)
		{
			push(tab[i]);
		}
	}

	int pop(){
		return data[--n];
	}

	void push (int x){
		data[n++]=x;
	}

	bool empty()
	{
		return !n;
	}

	int size()
	{
	    return n;
	}

	int top()
	{
	    return data[n];
	}

	~Stack(){
	    cout<<"Niszcze stos z "<<n<<" elementami"<<endl;
		//... wtedy tylko gdy uzywamy dynamiczna pamiec
	}

};


int main()
{

	int t[4]={5,10,15,20};
	Stack stack(t,4);

	stack.push(3);

	cout<<stack.size()<<endl;
	cout<<stack.top()<<endl;

    while(!stack.empty())
    {
        cout<<stack.pop()<<endl;
    }

return 0;
}
1

Masz oprzeć swój stos na tzw linked list, bo na ten moment masz ograniczenie ilości elementów.

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