Java里面使用常量十分方便,将成员变量定义为final就行了,但在C++中,类的成员变量是不能赋初值的,因此往往将常量声明为全部数据,并用const来修饰。效果类似,但全局数据往往造成程序间不必要的耦合,是error prone,应该能免则免的。有一个变通的办法就是使用枚举:
cpp 代码
- class ConstNum
- {
- .....
- private:
- enum{MAXSIZE=100};
- };
cpp 代码
- class ConstNum
- {
- .....
- private:
- static const int MAXSIZE;
- };
- const int ConstNum::MAXSIZE= 100;