Since enums are usually processed as some int size in the compiler, all you have to do is do it later
enum PizzaDressing { Olives = 0, Cheese = 1, Pepperoni = 2 };
or you can let him count
enum PizzaDressing { Olives = 0, Cheese = 1, Pepperoni };
You can, if for some reason this is not acceptable, use math ( Cheese + 1 ). You can play with the listing in almost any way using a numerical value.
Please note that the enumerator that you use is usually baked into the code by the compiler, it does not appear as its name, just a value. Thus, modification (extension) of the enumerator later will not lead to the creation of the code that was created.
I think this is legal syntax for using an enumeration in another enumerator with the application, but I have never tried. This might work, but kind of ugly:
enum PizzaDressing { Olives = 0, Cheese = 1 }; enum OtherPizzaDressings { Start = (OtherPizzaDressings)PizzaDressing::Cheese; Pepperoni };
source share