C++类模板中的静态成员
类模板中可以定义静态成员,从该类模板实例化得到的所有类都包含同样的静态成员。
程序示例如下:
1
1
第 14 行和第 15 行,对静态成员变量在类外部加以声明是必需的。在 Visual Studio 2008 中,这两行也可以简单地写成:
程序示例如下:
#include <iostream> using namespace std; template <class T> class A { private: static int count; public: A() { count ++; } ~A() { count -- ; }; A(A &) { count ++ ; } static void PrintCount() { cout << count << endl; } }; template<> int A<int>::count = 0; template<> int A<double>::count = 0; int main() { A<int> ia; A<double> da; ia.PrintCount(); da.PrintCount(); return 0; }程序的输出结果是:
1
1
第 14 行和第 15 行,对静态成员变量在类外部加以声明是必需的。在 Visual Studio 2008 中,这两行也可以简单地写成:
int A<int>::count = 0;
int A<double>::count = 0;
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算