#ifndef BCLASS_H_ #define BCLASS_H_ template <class T> class BClass { public: static int count; static long size; static long GetSize() { return size; } static int GetCount() { return count; } }; //静态数据成员初始化 template <class T> int BClass<T>::count = 0; template <class T> long BClass<T>::size = 1; #endif //BCLASS_H_
#include <iostream> #include "BClass.h" using namespace std; //类模板的静态数据成员测试 int main() { int ncount = 0; long lsize = 0; BClass<int> bclass1; BClass<int> bclass2; bclass1.count = 11; bclass1.size = 22; ncount = bclass1.GetCount(); lsize = bclass1.GetSize(); cout<<"ncount = "<<ncount<<"\nlsize = "<<lsize<<endl; cout<<"bclass2.count = "<<bclass2.count<<endl; system("pause"); return 0; }