クラス テンプレートのメンバー
クラス テンプレートのメンバーはクラスのメンバーのようになります。これらは静的メソッドと非静的データ メンバーまたは関数または他のテンプレートができます。これらはテンプレート クラスまたは外側の中で定義できます。テンプレート クラスのメンバーが定数式であるかのように有効な型の名前でテンプレート引数リストで指定された不明なオブジェクトの値を参照できるようにテンプレート引数リストで指定された不明な型を参照。
テンプレート クラスのメンバーがクラス宣言の外側で定義されている場合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++ ではメンバーのテンプレートと呼ばれる入れ子になったテンプレートができます。メンバーのテンプレートは 入れ子になったクラス テンプレート または メンバー関数テンプレート を指定できます。