选件类模板的成员
类模板的成员与任何类的成员。 它们可以是静态成员或非静态数据成员,或函数,甚至其他模板。 它们在中可以定义模板类或外部的内部。 模板类的成员可以引用在模板中指定的未知类型参数列表,但仍有效的类型名称,并且,它们可以引用在模板中指定的未知对象值的参数列表中,当作常数表达式。
当模板类的成员定义在类声明之外时,与这些有不同的声明这些 nontemplated 类。 该声明必须在指定模板类的语法后函数是的成员。
template < template-argument-list > definition
备注
一个成员函数的声明在模板类之外还必须指定模板参数。
template-name < template-argument-list > :: identifier
示例
// members_of_class_templates1.cpp
// compile with: /c
template <class T, int i>
class TempClass {
int MemberSet(T, int);
};
template <class T, int i>
int TempClass< T, i >::MemberSet( T a, int b ) {
if( ( b >= 0 ) && (b < i) ) {
Tarray[b++] = a;
return sizeof( a );
}
else
return -1;
}
C++ 还允许嵌套模板,引用成员模板。 成员模板可以是 嵌套类模板 或 成员函数模板。