问:C++能不能在类中定义一个私有的静态常量数组

 我来答
烟丹烟gJ
2017-04-24 · TA获得超过140个赞
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:82.3万
展开全部
能!
例如:

#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型和枚举)
希望能帮到你!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式