c++中可以对类中私有成员中的静态变量初始化吗

如题所述

首先要明白的一点是:静态成员的值对所有的对象是一样的。静态成员可以被初始化,但只能在类体外进行初始化。
一般形式:
数据类型
类名::静态数据成员名=初值
注意:不能用参数初始化表对静态成员初始化。一般系统缺省初始为0.
下面是一个自己写的参考例子:
#include
"iostream.h"
class
test
{
static
int
temp;
public:
static
int
getdata()
{
return
temp;
}
};
int
test::temp=3;
int
main()
{
cout
<
评论
0
11
加载更多
温馨提示:答案为网友推荐,仅供参考
第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;
相似回答