Sdílet prostřednictvím


Členové šablon třídy

Členové šablony třídy jsou jako členy libovolné třídy.Mohou být statické nebo nestatické, mohou obsahovat datové členy nebo členské funkce nebo i jiné šablony.Mohou být definovány uvnitř šablony třídy nebo mimo ni.Členy šablony třídy mohou odkazovat na neznámé typy definované v seznamu argumentů šablony, jako by šlo o platné názvy typů a mohou odkazovat na neznámé hodnoty objektů uvedené v seznamu argumentů šablony, jako kdyby to byly konstantní výrazy.

Když jsou členy šablony třídy definovány mimo deklaraci třídy, musí být deklarovány jinak než ty z nešablonové třídy.Deklaraci musí předcházet syntaxe určující šablonu třídy, které je funkce členem.

template < template-argument-list > definition

Poznámky

Deklarátor členské funkce mimo šablonu třídy musí také 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;
}

Jazyk C++ povoluje také vnořené šablony označované jako členské šablony.Členské šablony mohou být šablony vnořené třídy nebo šablony členské funkce.

Viz také

Referenční dokumentace

Šablony třídy