Untitled
unknown
c_cpp
3 years ago
487 B
7
Indexable
template <typename T>
class Stack
{
public:
Stack() :
m_pData(0),
m_capacity(0)
{
}
~Stack()
{
if (m_pData)
delete m_pData;
}
void Initialise(size_t capacity)
{
m_pData = new T[capacity];
m_capacity = capacity;
Size = 0;
}
void Push(const T &value)
{
if (Size < m_capacity)
m_pData[Size++] = value;
}
T Pop()
{
return m_pData[--Size];
}
bool IsEmpty()
{
return (Size == 0);
}
size_t Size;
private:
T *m_pData;
size_t m_capacity;
};
Editor is loading...