Examples



Examples

Figure: Important domain-specific constants at namespace level.

const size_t PAGE_SIZE          = 8192,
             WORDS_PER_PAGE     = PAGE_SIZE / sizeof(int),
             INFO_BITS_PER_PAGE = 32 * CHAR_BIT;

Figure: Class-specific constants. You can define static integral constants in the class definition; constants of other types need a separate definition or a short function.

// File widget.h
class Widget {
 static const int defaultWidth = 400;        // value provided in declaration
 static const double defaultPercent;         // value provided in 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