牛骨文教育服务平台(让学习变的简单)

对于某一特定类类型的全体对象我们需要访问一个共同的变量,这个时候我们通常是在类的声明中声明一个静态变量即static变量。当然可以用一个全局变量来代替,但是用全局变量是一个很不好的习惯,重要的一点就是全局变量会破坏类的封装。然而类中static变量不像普通变量,它独立与该类的任意对象而存在,每个static数据成员与一个特定的类相关连,而非与该类的对象相关连。http://blog.csdn.net/IAccepted

一.使用类的static成员的优点:

1.static成员的名字是在类的作用域中,因此可以避免与其他类的成员或全局对象的名字发生冲突。

2.可以实施封装。static成员可以是私有成员,而全局对象不可以。http://blog.csdn.net/IAccepted

3.通过阅读程序容易看出static成员是与特定类关联的。这种可见性可以清晰地显示程序员的意图。

二.static类成员的生命与定义http://blog.csdn.net/IAccepted

static类成员在声明类的时候同时被声明,static类成员的定义应该放在该类的实现文件中。即类声明在A.h中,而类的实现放在A.cpp中则,static类型变量的定义就放在A.cpp中。

格式为<数据类型> <类名>::<static变量名>=<初始值>

三.static修饰const类型的变量

当static修饰const类型的变量时,此变量可以在类的声明中直接初始化,但是该数据成员仍然必须在定义体之外进行定义。