几行代码

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:28:36
class abc
{
int data;
static int staticvar;
public:
};
int abc :: staticvar=0;

“static int staticvar;”这句话中的“static”的作用是什么啊。
“int abc :: staticvar=0;”这句话怎么理解阿,
为什么"public:"后面没代码了

static int staticvar是为类声明一个静态变量staticvar,它必须在类实现时就被初始化,且该类定义的所有对象访问的都是相同的staticvar,比如abc t1,t2,t3;
t1,t2,t3三个对象的staticvar值是相同,因此从另一个角度来说,每个对象都有一个公共的staticvar属性,那这个属性也就相当于是类自身的属性,可以用域操作符(::)访问,这就是
int abc :: staticvar=0 这句话的来源,它的目的是在实现类时将staticvar赋值为0

static int staticvar;”这句话中的“static”的作用是声明staticvar为静态变量
“int abc :: staticvar=0;”这句话怎么理解阿,
————————————————————abc是类名,::是作用域解析符,用来说明staticvar是属于哪个类的,可以说是在类定义中,定义静态变量的格式吧

static是变量修饰符,表示后面的变量是静态变量,就是全局唯一的,“int abc :: staticvar=0;”就是在把全局唯一的静态变量staticvar赋值为0。
public后面有无代码均可