template<typename T> class AbstractStackExtension : AbstractStack<T> { public: void PushCopy(const Item& x) { Push(new Item(x)); } void MultiPop(int n) { while (n > 0) Pop(), --n; } void Clear() { while (!IsEmpty()) Pop(); } ... };