Listing 4

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(); }
  ...
};