C++全局变量不能赋初值的疑惑

2024-12-24 17:35:08
推荐回答(4个)
回答1:

全局变量? 你应该指的是静态成员变量吧? C++的静态成员变量不能这样赋初始值。
首先需要在.h文件中的类声明中声明静态成员变量,比如 static int int_age;
然后在.cpp中,在类实现代码以外的位置写 int student::int_age = 10;

如果是普通成员变量,应该在构造函数中赋值。

回答2:

类被定义时,并不会分配内存,因此无法给它的成员变量赋值。
只有当类被实例化,即创建对象时,才会分配内存,此时可以给变量赋值。

回答3:

不能,但你可以在构造函数里面对数据成员初始化

回答4:

类定义里不能给变量赋值,初始化最好放到构造函数里。