黑马程序员技术交流社区

标题: 静态数据成员是类的所有对象共享的成员 [打印本页]

作者: 星痕-凌    时间: 2015-7-14 22:59
标题: 静态数据成员是类的所有对象共享的成员
静态数据成员是类的所有对象共享的成员。静态数据成员所占的空间不会随着对象的产生而分配,也 不会随着对象的消失而回收。对静态数据成员的操作和类中一般数据成员的操作是不一样的,定义为私有 的静态数据成员不能被外界所访问。静态数据成员可由任意访问权限许可的函数所访问。
由于静态数据成员是类的所有对象共享的,而不从属于任何一个具体对象,所以必须对类的静态数据 成员进行初始化,但对它的初始化不能在类的构造函数中进行,其初始化语句应当写在程序的全局区域中 ,并且必须指明其数据类型与所属的类名,其初始化格式如下:
类型 类名::变量名=值;
对于在类的public部分说明的静态数据成员,在类的外部可以不使用成员函数而直接访问,但在使用 时必须用类名指明所属的类,其访问格式为:
类名::静态数据成员名
2.静态成员函数
静态成员函数的定义与一般成员函数的定义相同,只是在其前面冠以static关键字,其定义格式如下 :
class 类名
{

static 类型 函数名(形参)
{   函数体   }

};

1、类的静态成员函数只能访问类的静态数据成员,而不能访问类中的普通函数成员(非静态数据成 员),因为普通数据成员只有类的对象存在时才有意义。

2、静态成员函数与类相联系,而不与类的对象相联系,所以,在类的外部调用类中的公有静态成员 函数,必须在其左面加上“类名::”,而不是通过对象名调用公有静态成员函数。在类的外部不能调用类中的私有静态成员函数。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2