类的static成员,属于类,而不属于对象,因此,每一个类的对象都可以使用,使用模板改变这一特性。
代码如下:
vs2008
#include<iostream>
usingnamespacestd;
template<classT>
classBase{
public:
staticintcount;
Base();
};
template<classT>
intBase<T>::count=1;
template<classT>
Base<T>::Base(){
cout<<count<<endl;
count++;
}
template<classT>
classDerived1:publicBase<T>{
};
classDerived2:publicBase<Derived2>{
};

int_tmain(intargc,_TCHAR*argv[])
{
Base<int>t[10];
Base<int>t1[10];
Derived1<Derived1<int>>a[10];
Derived2b[10];
return0;
}
输出结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
本文通过具体示例讲解了C++中如何使用模板类的静态成员,并展示了不同类型的对象如何共享这些成员变量的过程。
991

被折叠的 条评论
为什么被折叠?



