天天看点

类的静态成员变量的初始化

类的静态数据成员在类内定义时的格式为:

static 类型 变量名;

类的静态数据成员要在类的外部进行初始化,因为静态数据成员不属于某一个对象所有,在内部初始化的话会造成多次初始化现象。

通常是在类成员函数实现的cpp文件中对类的静态数据成员进行初始化,如果在类定义的头文件或者是main函数单独所在的cpp文件中进行初始化的话均会报出编译错误。

正确用法举例如下:

//static.h

class A{

private:

 static int m;

public:

 void getn();

};

//static.cpp

#include "iostream"

#include "static.h"

using namespace std;

int A::m=2;

void A::getn()

{

 cout<<m;

}

//main.cpp

void main()

 A a;

 a.getn();

继续阅读