【发布时间】:2020-07-15 16:01:53
【问题描述】:
我有一个令我困惑的问题。我知道什么是模板和它的目的,但我在使用上有一些空白点。
我有一个这样的模板类:
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*
}
此时一切正常。模板说这是一个在模板类内部的函数,函数前面的int表示该函数将返回一个整数值,但我不明白的部分是为什么我们必须写SSorting <elemType> :: seqSearch而不是SSorting :: seqSearch。我已经说过这是一个模板类和返回类型的成员,为什么我们需要再说一次<elemType>。
【问题讨论】:
标签: c++ class templates abstract-data-type template-classes