Перечисление с помощью методов C

#c

#c

Вопрос:

Я хочу создать небольшой набор специальных элементов (для этого я использовал перечисление), а затем перегрузить операторы на них (например, я хочу добавлять, вычитать или сравнивать их, но не как обычные целые числа).

В итоге я создал структуру, которая содержит одну переменную этого перечисления, и определил там все мои операторы. Есть ли лучший способ сделать это, потому что моя программа заполняется похожими именами.

 Enumeration ExampleEnum
{x,y,z};

struct ExampleStruct
{
ExampleEnum value;
//rest of code with operators
};
 

Комментарии:

1. Вы можете взглянуть на библиотеку bitflags

2. Вы можете определить свои собственные операторы для типа enum, зачем вам struct ? wandbox.org/permlink/4jCMLo0Gw3vTWs70

3. должно ли это быть enum ExampleEnum {x,y,z}; ?