66问答网
所有问题
c++中可以对类中私有成员中的静态变量初始化吗
如题所述
举报该问题
推荐答案 2019-10-26
首先要明白的一点是:静态成员的值对所有的对象是一样的。静态成员可以被初始化,但只能在类体外进行初始化。
一般形式:
数据类型
类名::静态数据成员名=初值
注意:不能用参数初始化表对静态成员初始化。一般系统缺省初始为0.
下面是一个自己写的参考例子:
#include
"iostream.h"
class
test
{
static
int
temp;
public:
static
int
getdata()
{
return
temp;
}
};
int
test::temp=3;
int
main()
{
cout
<
评论
0
11
加载更多
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/Uxpvs2vDnDx2DDivp9x.html
其他回答
第1个回答 2019-09-05
可以。类的所有
静态变量
都必须在类的外部初始化,格式是:类型名
类名::变量名=初始值;而不管它是私有的还是公有的。如:
class
c
{
public:
static
int
d;
protected
:
static
int
e;
private:
static
int
f;
};
int
c::d=1;
int
c::e=2;
int
c::f=3;
相似回答
c++中静态
数据
成员可以
在类内
初始化吗
答:
当然不能
。除非是静态最终整形变量,即const static int 类型的才可以,否则只能在类定义外初始化,也不能在构造函数初始化
C++中
,
类的私有
数据
成员
在定义的时候不
能
进行
初始化吗
?
答:
是的,C++中类的数据成员不管是不是私有的,
都不能进行初始化
。因为类就相当于一个数据的模板,是一种自定义组合的新数据类型,而不是一个变量。当程序声明一个类的时候,事实上并没有为程序申请存储空间,只有用这个类定义一个类对象的时候,才申请空间。连空间都没有,当然不能像定义变量一样的初...
C++的类中
怎么用
静态变量
?
答:
C++类支持静态成员变量,在使用的时候,遵循类内声明,类外定义的原则。即在类内部进行声明该变量的类型以及静态属性,
但不可以赋初始值
,而是要在类外定义,同时赋初始值。初始值部分,=init_value可以省略,省略时默认赋值为0。在使用上:1 成员函数均可使用静态变量;2 如果静态变量属性为public,那么...
c++
模板
类中的静态成员变量
什么时候会被
初始化
,如果想要指定其在某个...
答:
模板类中的静态成员变量在定义时不会被初始化,只有赋给它一个确定的值时才会被初始化(分配内存)
。如果想要在某个源文件中初始化 首先要引用这个模板类,然后为这个模板类中的静态成员变量赋值。template<class T> class Test{ private:T n;const T i;static T cnt;};template<class T> int ...
c++
语言中
类中的静态
数据
成员
为什么必须在类体外
初始化
?
答:
static int a; //声明但未定义 };int A::a = 3; //定义了静态成员变量,同时
初始化
。也可以写"int A:a;",即不给初值,同样可以通过编译 int main() { printf("%d", A::a);return 0;} 这样就对了,因为给a分配了内存,所以可以访问静态成员变量a了。因为
类中的静态成员变量
仅仅是...
C++的类中
怎么用
静态变量
?
答:
在
c++里
,遵循
静态成员
函数引用
静态变量
的原则,此外对与类的话,如果定义了静态变量,那么只能够在类外赋值,类识不分配内存的,static一旦赋值就有了内存。
大家正在搜
类中静态变量的初始化
静态变量一定要初始化吗
静态变量只初始化一次吗
c静态变量初始化
静态变量什么时候初始化
静态变量默认初始化
静态变量未初始化
局部静态变量必须进行初始化
java静态变量初始化值
相关问题
c++中可以对类中私有成员中的静态变量初始化吗
c++中可以对类中私有成员中的静态变量初始化吗?
C++的类静态成员函数可以访问类中的私有成员吗?为什么?
c++中,声明一个类的时候,这个类的静态数据成员,必须是私有...
C++的静态成员变量能在构造函数里初始化吗?
c++语言中类中的静态数据成员为什么必须在类体外初始化?
C++的静态成员变量能在构造函数里初始化吗
c++类中静态成员函数怎么访问类私有变量