C++标准允许在类的定义中定义静态整数常量,但其他类型的类常量则需要单独的定义或将常量封装在函数中。举例:
// File widget.h
class Widget {
static const int defaultWidth= 400; // value provided in declaration
static const double defaultPercent; // value providedin definition
static const char* Name(){return "Widget"; }
};
// File widget.cpp
const double Widget::defaultPercent = 66.67; // value provided in definition
const int Widget::defaultWidth; // definition required
此外,enum也常用于定于类常量。对于单独的类常量,static声明是必须的,这样才能保证所有的类常量公用一个地址空间。
相关文章: