c++ 静态方法和静态属性

  • Post author:
  • Post category:其他


c++中类的对象有其相应的方法和属性,类本身也有其对象和方法,称为静态方法和静态属性。

在类声明时,在类的属性前加上 static 表示该属性属于类共有的。如

class classname

{

public:

static int get_Num();

private :

static int classnum;

}

classnum属于类classname的静态属性,get_Num()属于其静态方法;


静态属性要在类定义中声明并初始化,为其分配内存空间;——错了


正确为: 静态成员变量要在类定义中声明,在类外进行初始化,为其分配内存空间,存在全局变量区

静态成员是所有对象共享的,所以不能在静态方法里访问非静态的元素;

非静态方法可以访问类的静态成员,也可以访问类的非静态成员;

原因:实例化的对象存放在局部变量区,而类的静态成员存放在全局变量区;

静态方法也可以使用一个普通方法的调用语法来调用,但建议不要这么做,那会让代码变得更糟糕!



版权声明:本文为shihuangdeng898原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。