在类里面定义常量的方法
把变量定义成static const类型,然后在类外面进行赋值
class ClsConst{
public:
static const int c_iTest;
};
const int ClsConst::c_iTest = 101;
int main(int argc, char**argv)
{
ClsConst aaa;
printf("------c_iTest:%d\n", aaa.c_iTest);
printf("------c_iTest:%d\n", ClsConst::c_iTest);
return 0;
}
使用数组也是一样
class ClsConst{
public:
static const int c_iTest[5];
};
const int ClsConst::c_iTest[5] = {1,2,3,4,101};
int main(int argc, char**argv)
{
ClsConst aaa;
printf("------c_iTest:%d\n", aaa.c_iTest[1]);
printf("------c_iTest:%d\n", ClsConst::c_iTest[2]);
return 0;
}
注:class ClsConst{
public:
ClsConst() {
const int c_iTest = 1;
};
public:
static const int c_iTest;
};
这样定义编译是不会出错的,但是如果在真正调用c_iTest使用的时候,就会报错,还不是很清楚,待考究!