Welcome

首页 / 软件开发 / C++ / C++学习摘要之五:静态成员

C++学习摘要之五:静态成员2011-10-20 csdn laoduan_78在一个类中还可以定义静态成员,但静态成员是所有对象公有的。静态成员分为静态数据成员和静态 成员函数。

1.静态数据成员

在类中定义静态数据成员的方法就是在该成员的前面加上关键字static.

定义静态数据成员的语句格式如下:

class 类名

{

……

static 类型说明符 成员名;

……

};

静态数据成员是类的所有对象共享的成员。静态数据成员所占的空间不会随着对象的产生而分配,也 不会随着对象的消失而回收。对静态数据成员的操作和类中一般数据成员的操作是不一样的,定义为私有 的静态数据成员不能被外界所访问。静态数据成员可由任意访问权限许可的函数所访问。

由于静态数据成员是类的所有对象共享的,而不从属于任何一个具体对象,所以必须对类的静态数据 成员进行初始化,但对它的初始化不能在类的构造函数中进行,其初始化语句应当写在程序的全局区域中 ,并且必须指明其数据类型与所属的类名,其初始化格式如下:

类型 类名::变量名=值;

对于在类的public部分说明的静态数据成员,在类的外部可以不使用成员函数而直接访问,但在使用 时必须用类名指明所属的类,其访问格式为:

类名::静态数据成员名

对于在类的非public部分说明的静态数据成员,则只能由类的成员函数访问,其访问方法与访问类中 普通数据成员的访问方法完全一样,但在类的外部不能访问。