1.2.3  类模板的静态成员

1.2.3 类模板的静态成员

在C++中,类的成员变量被声明为static型就意味着它为该类的所有实例所共享,即当某个类的实例修改了该静态成员变量时,其修改值为该类的其他所有实例所见。下面详细说明静态成员的使用方法。

类模板的成员可以被声明为static型,例如,

978-7-111-51399-5-Chapter01-84.jpg

978-7-111-51399-5-Chapter01-85.jpg

在上述代码中,BClass作为类模板的名称,count和size是类模板的成员变量,GetSize()和GetCount()是类模板的成员函数。

如要在程序中需要使用类模板的成员变量,必须在程序的类外部(或程序中)对该static静态成员进行定义。例如,

978-7-111-51399-5-Chapter01-86.jpg

如果在程序中需要使用类模板的成员函数,必须在程序中使用类模板创建对象,进而使用对象访问该成员函数;或者使用类模板的作用域操作符直接访问成员函数。例如,

978-7-111-51399-5-Chapter01-87.jpg

完整的使用静态成员的示例如下。

例1-23

978-7-111-51399-5-Chapter01-88.jpg

978-7-111-51399-5-Chapter01-89.jpg

例1-23的执行效果如图1-9所示。

978-7-111-51399-5-Chapter01-90.jpg

图1-9 例1-23的执行效果

总结

本小节主要讲述如何在类模板中使用静态成员的方法。虽然略有些难度,但经过上述的讲解,读者应已基本掌握了这一内容。类模板的静态成员函数可以通过类模板定义对象或作用域操作符的形式调用;而类模板的静态成员变量必须在程序中(类外部)声明。