C++类模板中的static成员

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++类模板中的static成员相关的知识,希望对你有一定的参考价值。

从类模板实例化的每一个模板类有自己的类模板数据成员,该模板的所有对象共享一个static数据成员。

代码如下:

#include <iostream>
using namespace std;


template<typename T>
class Person
{
public:
	static int a;

};

template<typename T>
int Person<T>:: a = 1;

int main()
{
	Person<double> a1, a2, a3;
	Person<int> b1, b2, b3;
	a1.a = 1;
	b1.a = 100;
	cout << a1.a << " " << a2.a << " " << a3.a << endl;
	cout << b1.a << " " << b2.a << " " << b3.a << endl;
	return 0;
}

测试结果:
在这里插入图片描述

以上是关于C++类模板中的static成员的主要内容,如果未能解决你的问题,请参考以下文章

C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板和static

学习c++ 第四天 类 及类的继承--class和struct的区别--static成员

C++类模板的成员函数模板写法收藏

C++类模板的成员函数模板写法收藏

C++模板详解

C++初阶第六篇——类和对象(下)(初始化列表+explicit关键字+static成员+友元+内部类)