问:C++能不能在类中定义一个私有的静态常量数组
1个回答
展开全部
能!
例如:
#include <string>
class A{
public:
...
private:
static const int i = 0;
}
但是需要注意一下,上面的静态常量变量,除了int型以及枚举型可以由一个int常量表达式在类定义中初始化以外,其余都要在实现文件中显式初始化,并且在初始化时,前面必须有const关键字申明。
因此,如果你定义的是静态常量数组,则必须如下:
在.h文件中
#include <string>
class A{
public:
...
private:
static const string array[3];
}
在.cpp文件中
const string A::array[3] = {"ab","bc","db"};
这样做是因为,虽然const常量必须在定义的时候赋值,但是它的前面又有static关键字,因此,也就带有了静态的性质,即必须在类定义外显式定义(当然除了上面说的int型和枚举)
希望能帮到你!
例如:
#include <string>
class A{
public:
...
private:
static const int i = 0;
}
但是需要注意一下,上面的静态常量变量,除了int型以及枚举型可以由一个int常量表达式在类定义中初始化以外,其余都要在实现文件中显式初始化,并且在初始化时,前面必须有const关键字申明。
因此,如果你定义的是静态常量数组,则必须如下:
在.h文件中
#include <string>
class A{
public:
...
private:
static const string array[3];
}
在.cpp文件中
const string A::array[3] = {"ab","bc","db"};
这样做是因为,虽然const常量必须在定义的时候赋值,但是它的前面又有static关键字,因此,也就带有了静态的性质,即必须在类定义外显式定义(当然除了上面说的int型和枚举)
希望能帮到你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询