Создать класс Stack, который будет реализовывать принцип работы структуры данных стек. Размер стека не должен быть ограничен
День добрый! Прошу помощи в начальных изучениях Stack. Необходимо вынести интерактив с пользователем(размер и прочее) из самого класса. Задать изначальный размер в самом конструкторе. Вот что наделал, но довести до ума не выходит. Понимаю что это не сложно, но как реализовать в голове не складывается.
using namespace std;
class Stack
{
private:
int *arr;
int size;
public:
Stack()
{
SetArraySize();
MakeArray(arr);
}
void SetArraySize()
{
cout << "Enter the size at array: ";
cin >> size;
}
void MakeArray(int*& array)
{
array = new int[size];
}
void print()
{
cout << "Array: ";
for (int i = 0; i < size; i++)
{
cout << *(arr + i) << ' ';
}
cout << '\n';
}
int* CopyArray()
{
int* newArray;
MakeArray(newArray);
for (int i = 0; i < size - 1; i++)
{
*(newArray - i) = *(arr + i);
}
return newArray;
}
int pop()
{
int responce = *arr;
size--;
arr++;
return responce;
}
void push(int a)
{
size++;
int* newArr = CopyArray();
*(newArr + size) = a;
deleteArray();
arr = newArr;
}
void deleteArray()
{
delete arr;
}
};