Enumeration Values
Can be converted into integers and can even have their own internal integer values explicitly specified.
enum shape {circle=12, square=3, triangle};
Can be assigned to an integer and incremented, but the resulting value must then be cast back into the enumrated data type before
int i = aFruit; // legal conversion
aFruit = fruit(i); // fruit is probably now orange
aFruit = fruit(i); // fruit value is now undefined