类静态成员是被该类所有对象共享的数据,必须在类外初始化。(如果在类内初始化的话则每个对象都会去初始化该成员,因此会报错)。
class A
{
public:
// static int a = 0; //错误写法
static int a;
};
int B::a = 0;
如果是静态常量成员则两种写法都可以。(因为常量只会被初始化一次)
class A
{
public:
static const int a = 0;
};
类静态成员是被该类所有对象共享的数据,必须在类外初始化。(如果在类内初始化的话则每个对象都会去初始化该成员,因此会报错)。
class A
{
public:
// static int a = 0; //错误写法
static int a;
};
int B::a = 0;
如果是静态常量成员则两种写法都可以。(因为常量只会被初始化一次)
class A
{
public:
static const int a = 0;
};