C++静态数据成员和静态成员函数
2011-12-03 13:35 捣乱小子 阅读(973) 评论(0) 编辑 收藏 举报在C++面向对象编程过程当中,对象与对象之间的数据不是共享,在设计类的时候,有时候需要一些对象之间共享的数据,除了把所要共享的数据设置为全局数据或者函数之外,还可以利用C++的静态机制。
1、静态数据成员
class 类名 { …… static 类型说明符 成员名; …… };
静态数据成员是所有对象共享的,其所占的内存空间不会因为某个对象的产生而分配,也不会因为对象的销毁而消失。跟类中其他的非静态数据成员一样,被定义为private时,不能被外界访问。但是可以被类内任意访问权限的函数访问。
关于静态数据成员的初始化:非静态成员可以在构造函数当中初始化,但是static不能在构造函数当中初始化,它的初始化,只能存在于全局区域,并且要指明是什么类的静态成员,可以用作用域符号“::”来指明。
类名::静态数据成员
就这么简单。
当声明为public时候,可以被直接访问,修改而不通过静态成员函数。
2、静态成员函数
class 类名 { … static 类型 函数名(形参) { 函数体 } … };
静态成员函数当中不能访问任何权限的非静态数据成员,换句话说它只能访问static。在类外部调用静态成员函数的时候,不是简单的
对象.静态成员函数
这是普通成员函数的做法,
类名::静态成员函数
更多请访问:http://daoluan.net