C++的类中怎么用静态变量?

2024年11月28日 13:29
有4个网友回答
网友(1):

C++类支持静态成员变量,在使用的时候,遵循类内声明,类外定义的原则。即在类内部进行声明该变量的类型以及静态属性,但不可以赋初始值,而是要在类外定义,同时赋初始值。

class class_type
{
   static var_type var; 
};
var_type class_type::var = init_value;

初始值部分,=init_value可以省略,省略时默认赋值为0。


在使用上:

1 成员函数均可使用静态变量;

2 如果静态变量属性为public,那么任意一个对象a均可使用静态变量var,使用形式为 a.var;

3 如果静态变量属性为public,那么可以用如下形式,在类class_type有效的范围内,使用静态变量var:

class_type::var

网友(2):

静态变量要在类外部赋值。。。

网友(3):

在c++里,遵循静态成员函数引用静态变量的原则,此外对与类的话,如果定义了静态变量,那么只能够在类外赋值,类识不分配内存的,static一旦赋值就有了内存。

网友(4):

例如:
在类内定义:static int a;
在类外面(不在其他函数中)初始化:int 类名::a=0;(0为赋给a的初始数值);
静态变量属于类,可以用类名调用,而且静态变量是每个同类对象共用的变量,就好比共享文件一样,谁都可以共享使用。
其实和非静态变量的使用是一样的,两者没有任何区别,任何属于类的函数都可以直接调用它。
另外就是静态函数,同样静态函数和原来的成员函数没有任何区别,它的使用和静态变量的使用一样。
可能你想知道的是,另外一个常量修饰符const,常数据成员只能用形参列表赋初值,而且不能改变,常数据成员的使用和普通数据成员除了不能修改它的值外,没有任何区别!
而常成员函数的使用仅限于常对象,其他的和普通成员函数没有任何区别。