类中静态变量的初始化及使用问题

来源:互联网 发布:过程控制 动画 软件 编辑:程序博客网 时间:2024/05/18 03:29

类中静态变量的初始化及使用问题

类中的静态变量是属于类的,不属于某个对象!不能在定义对象时对变量初始化,就是不能用构造函数来初始化,而且使用时应加上类名,而不是对象。

静态数据成员的使用方法和注意事项如下:

  1、静态数据成员在定义或说明时前面加关键字static。

  2、静态成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式如下:

    <数据类型><类名>::<静态数据成员名>=<值>

  这表明:

  (1) 初始化在类体外进行,而前面不加static,以免与一般静态变量或对象相混淆。

  (2) 初始化时不加该成员的访问权限控制符private,public等。

  (3) 初始化时使用作用域运算符来标明它所属类,因此,静态数据成员是类的成员,而不是对象的成员。

  3、静态数据成员是静态存储的,它是静态生存期,必须对它进行初始化。

  4、引用静态数据成员时,采用如下格式:

   <类名>::<静态成员名>

  如果静态数据成员的访问权限允许的话(即public的成员),可在程序中,按上述格式来引用静态数据成员。

注意:

1、静态变量在类的内部只是声明,不是定义,在类的外部才能定义。

2、静态变量或成员只有一个副本!

举例:

class A{static int x;static int y;}int A::x=1;int A::y=2;//这样初始化!int main(){cout<<A::x<<endl;cout<<A::y<<endl; //同样只能这样使用!}

转载地址



原创粉丝点击