類別樣板的成員
類別樣板的成員就像是任何類別的成員。 它們可以是靜態或非靜態、資料或函式成員,甚至是其他樣板。 它們可以在樣板類別的內部或外部定義。 樣板類別的成員可以參考樣板引數清單中指定的未知類型,就如同有效的類型名稱一般,而且可以參考樣板引數清單中指定的未知物件值,就如同常數運算式一般。
如果樣板化類別的成員是在類別宣告之外定義,則必須與非樣板化類別的成員分開宣告。 宣告前面必須加上指定樣板類別 (函式為其成員) 的語法。
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++ 也允許巢狀樣板,稱為成員樣板。 成員樣板可以是巢狀類別樣板或成員函式樣板。