Členové šablony třídy
Stejně jako členové třídy jsou členové třídy šablon.Mohou být statické nebo nonstatic, data nebo funkce členů nebo i další šablony.Mohou být definovány uvnitř šablony třídy nebo mimo něj.Členy třídy šablony můžete odkazovat na neznámé typy uvedené v seznamu argumentů šablonu jako by byly názvy platný typ a odkazují na neznámý objekt hodnoty uvedené v seznamu argumentů šablony, jako kdyby byly konstantní výrazy.
Když členové podle šablony třídy jsou definována mimo deklaraci třídy, musí být deklarováno jinak než nontemplated tříd.Prohlášení musí předcházet syntaxe určující šablonu třídy, která je členem funkce.
template < template-argument-list > definition
Poznámky
Declarator pro členské funkce mimo třídu šablony musíte zadat argumenty šablony.
template-name < template-argument-list > :: identifier
Příklad
// 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++ umožňuje také vnořené šablony, uvedené jako člen šablony.Člen šablony mohou být šablony vnořené třídy nebo členské funkce šablony.