静态类成员
有时候某个特殊类类型的所有对象都需要访问一个全局对象,这时候就需要用到静态类成员。静态类成员同全局对象相比有两个优势:
(1) 静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其他全局名字冲突的可能性。
(2) 可以实现信息隐藏。静态成员可以是private成员,而全局对象不可以。
TIP:
(1) 类的数据成员不可以在类定义中初始化,而整形的const静态数据成员是一种特例,但尽管它已经被初始化,但仍然需要在文本文件中作必要的成员定义,且此时不可以再初始化。
(2) 静态数据成员的类型可以是其所属类,而非静态数据成员只能被声明为该类的对象的指针或引用。
(3) 静态数据成员可以被作为类成员函数的缺省实参,而非static成员不能。