HoRRoR,я читал, но оно ругалось страшно и длинно

Нет.
Блин, хотя я изначально думал что и название класса не получиться вот так просто получить.
Добавлено позже:Начал читать о шаблонах. Удобно пользоваться, но не удобно объявлять так как объявление не совсем логично выглядит.
Допустим я в .h файле сделал вот так
template <typename T>
class Stack
{
public:
Stack(int =10);
~Stack()
{
delete [] stackPtr;
}
bool push(const T&);
bool pop(T&);
bool isEmpty() const
{
return top==-1;
}
bool isFull() const
{
return top==size-1;
}
private:
int size;
int top;
T *stackPtr;
};
Так чтобы потом функции написать по этим прототипам нужно же писать
template <typename T>
bool Stack<T>::push(const T &pushValue)что имхо не логично - класс же у меня Stack и если я и так уже написал что это класс с использованием шаблона то почему бы дальше не написать просто
bool Stack::push(const T &pushValue) ?
Класс у меня просто Stack ведь называется, зачем тогда придумали дописывать ещё и <T>? Я ведь и так предыдущей строчкой обязан напомнить о шаблоне так зачем же дважды это делать?