Here is what I did so far:
Code:#ifndef SIMPLE_STACK_LIFO #define SIMPLE_STACK_LIFO #include <vector> template <class T> class stack{ public: typedef std::vector<T> Container; typedef typename Container::size_type size_type; typedef typename Container::value_type value_type; typedef typename Container::reference reference; typedef typename Container::const_reference const_reference; explicit stack(const size_type nSize = 100){ m_vContainer.reserve(nSize); } void push(const_reference obj){ m_vContainer.push_back(obj); } reference top(){ return m_vContainer.back(); } const_reference top() const{ return m_vContainer.back(); } void pop(){ m_vContainer.pop_back(); } bool empty() const{ return m_vContainer.empty(); } size_type size() const{ return m_vContainer.size(); } protected: Container m_vContainer; }; #endif // SIMPLE_STACK_LIFO


LinkBack URL
About LinkBacks




Reply With Quote

