类模板实例化的每个模板类都有自己的类模板静态数据成员,该模板类的所有对象
共享一个静态数据成员。
模板类的静态数据成员应在文件范围内初始化。
每个模板类有自己的类模板的静态数据成员副本。
#include<iostream>
using namespace std;
template <class T>
class A
{
T m;
static T n;
public:
A(T a):m(a){n+=m;}
void disp(){cout<<"m="<<m<<", n="<<n<<endl;}
};
template <class T>
T A<T>::n = 0; //静态数据成员的初始化
int main()
{
A<int> a(2), b(3);
a.disp();
b.disp();
A<double> c(1.2),d(4.6);
c.disp();
d.disp();
return 0;
}