#pragma once #include template class MutantStack : public std::stack { public: MutantStack() {}; MutantStack(const MutantStack& other) { *this = other; }; MutantStack& operator=(const MutantStack& other) { return std::stack::operator=(other); }; typedef typename std::stack::container_type::iterator iterator; iterator begin() { return this->c.begin(); } iterator end() { return this->c.end(); } ~MutantStack() {}; };