Следуя шаблону перечисления С++, который я уже здесь описал, я пытался сделать подобное, но на этот раз последовательность значений, которые я хочу использовать, не понятна непрерывные целые числа.
Код явно ошибочен:
class Rotations
{
enum PossibleIndexes
{
ZERO,
PLUS180,
PLUS90,
MINUS90
};
enum PossibleValues
{
ZERO= 0,
PLUS180= 180,
PLUS90= 90,
MINUS90= -90
};
static int Count() { return MINUS90 + 1; }
static PossibleValues Default(){ return ZERO; }
};
так как будут конфликты между элементами, присущими двум перечислениям.
Итак, мой вопрос: каков наилучший подход к реализации фиксированного количества жестко закодированных ротаций {0, 180, 90, -90}, который также имеет функциональность по умолчанию и счетчик?