У меня вопрос, который меня смущает. Я знаю, что такое шаблон и цель его, но у меня есть некоторые пустые точки на использование.
У меня есть такой шаблон класса:
template <class elemType>
class SSorting {
public:
int seqSearch(const elemType list[], int length, const elemType& item);
};
Когда я кодирую член функции класса seqSearch Мне нужно объявить как:
template <class elemType>
int SSorting <elemType> :: seqSearch(const elemType list[], int length, const elemType& item){
*statements*
}
На данный момент все в порядке. template говорит, что это функция, которая внутри класса шаблона и int
перед функцией означает, что функция будет возвращать целочисленное значение, но часть, которую я не понимаю, это то, почему мы должны писать SSorting <elemType> :: seqSearch
вместо SSorting :: seqSearch
. Я уже говорю, что это член класса шаблона и возвращает тип, почему мне нужно сказать <elemType>
снова.