可以在类外定义或者在类内定义,因为是常量,只能定义一次。
template <class T>
class MyClass
{
T value;
public:
string str;
MyClass(){str="";}
MyClass(const MyClass<T>& t) // 复制构造函数
{
str = "";
value = t.value;
cout<<"copy construtor\n";
}
template<class U>
MyClass(const MyClass<U>& u) // 模板构造函数
{
str = "";
cout<<"template constructor\n";
}
static const int num;// = 10;
};
template<class T>
static const int MyClass<T>::num = 11;