Поделиться через


Шаблоны членов класса

Создать определение вне линии для члена класса шаблона, параметры шаблона должны быть определены на имени типа, а не по имени.

Пример

// templates_for_class_members.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
template <class T>
struct X {
   X();
   void Test();
   static const int i;
};

template <class T>
   X< T >::X() {
      cout << "X created." << endl;
}

template <class T>
   void X< T >::Test() {
      cout << "In Test." << endl;
}
template <class T>
   const int X<T>::i = 9;

int main() {
   X<int> x;
   x.Test();
   cout << X<int>::i << endl;
}
  
  
  

См. также

Ссылки

Шаблоны класса