做计量检定的网站,网站建设专业可行性分析,湛江免费制作网站,合肥网站制作前3名的转载#xff1a;http://blog.csdn.net/ljq32/article/details/7911390 1. 与普通类的static成员一样#xff0c;类内部声明一次#xff0c;类外部定义一次#xff0c;定义时可以设置也可以不设置初始值;
2. 类模板内部声明与普通类的static成员一致#xff1a; [html] vi…转载http://blog.csdn.net/ljq32/article/details/7911390 1. 与普通类的static成员一样类内部声明一次类外部定义一次定义时可以设置也可以不设置初始值;
2. 类模板内部声明与普通类的static成员一致 [html] view plaincopy print? //16.4.7.h template class T class Foo { public: static int count() { return cnt; } private: static int cnt; //类模板内部声明静态变量cnt //也必须在类模板外部定义一次cnt否则编译错误undefined reference to Fooint::cnt; }; 3. 类模板外部定义一次通常在类模板定义文件中定义时不带关键字static必须以模板形参表与模板名字进行限定以指出它是类模板的成员 [html] view plaincopy print? //16.4.7.cpp #include iostream #include 16.4.7.h using namespace std; //类模板定义文件定义cnt并给定初始值当未明确指定初始值时默认值为相应数据类型的默认值int类型为0 template class T int FooT::cnt -1; int main() { //static成员cnt的不同使用方式 Fooint f; Fooint *pf f; Fooint rf f; cout f.count(): f.count() endl; cout rf.count(): rf.count() endl; cout pf-count(): pf-count() endl; cout Fooint::count(): Fooint::count() endl; return 0; } 运行结果 f.count():-1 rf.count():-1 pf-count():-1 Fooint::count():-1