问:C++能不能在类中定义一个私有的静态常量数组
展开全部
能!
例如:
#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型和枚举)
希望能帮到你!
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询