关于静态成员变量的谈论
静态成员变量属于类,不属于任何一个对象,没有this指针
静态成员变量使用前必须初始化,否则编译不过
初始化必须在程序文件
初始化不可以在头文件,防止多次初始化
初始化不可以在构造函数,防止多次初始化
#include "iostream"
class A
{
public:
static int cnt;
int x;
public:
A(){}
};
int A::cnt = -1;
int main()
{
A a;
}
静态成员函数没有this指针;
#include "iostream"
class A
{
public:
static int cnt;
int x;
public:
A(){}
static void setCnt(int x){cnt = x;};
};
int A::cnt = 4;
int main()
{
A::setCnt(5);
A a;
}