Definition of Enumerator Constants

Enumerators are considered defined immediately after their initializers; therefore, they can be used to initialize succeeding enumerators. The following example defines an enumerated type that ensures that any two enumerators can be combined with the OR operator:

enum FileOpenFlags

{

OpenReadOnly = 1,

OpenReadWrite = OpenReadOnly << 1,

OpenBinary = OpenReadWrite << 1,

OpenText = OpenBinary << 1,

OpenShareable = OpenText << 1

};

In the preceding example, the preceding enumerator is used to initialize each succeeding enumerator.