Мы написали шаблон стека, определив все методы в классе как подставляемые. Однако чаще методы определяются вне шаблонного класса. Перепишем опять наш шаблон стека (листинг 11.3).
Листинг 11.3. Внешнее определение методов шаблона
// - определение шаблона класса
template <class T> class TStack { struct Elem { T data; Elem *next;
Elem (const T& d, Elem *p) :data(d). next(p) { }
|