在类模板中使用静态数据成员,也是赋值的时候,要说明虚拟函数参数,并且如果类定义的虚拟类型不一样,那么静态数据的值不一样,原理很简单,就是因为他们是分成了两种不同的类嘛
#include<iostream>
using namespace std;
template <typename T>
class A {
public:
A(T t = 0);
T getT();
static T count;
private:
T t;
};
template <typename T> T A<T>::count = 666;
template <typename T>
A<T>::A<T>(T t) {
this->t = t;
}
template <typename T>
T A<T>::getT() {
return t;
}
int main() {
A<int> a(20);
A<int> b(10);
A<float> c, d;
a.count = 1000;
cout << b.count << endl;
c.count = 999;
cout << d.count << endl;
system("pause");
return 0;
}