3a) explicitly assigned integer values
3b) not explicitly assigned a value
3c) explicitly assigned floating point values
3d) negative
3e) non-unique
3f) assigned the value of prior enumerators (eg. COLOR_MAGENTA = COLOR_RED)
C++ Tutorial Site
// define a new enum named Color enum Color { // Here are the enumerators // These define all the possible values this type can hold COLOR_BLACK, COLOR_RED, COLOR_BLUE, COLOR_GREEN, COLOR_WHITE, COLOR_CYAN, COLOR_YELLOW, COLOR_MAGENTA }; // Declare a variable of enumerated type Color Color eColor = COLOR_WHITE;
enum Color { COLOR_BLACK, // assigned 0 COLOR_RED, // assigned 1 COLOR_BLUE, // assigned 2 COLOR_GREEN, // assigned 3 COLOR_WHITE, // assigned 4 COLOR_CYAN, // assigned 5 COLOR_YELLOW, // assigned 6 COLOR_MAGENTA // assigned 7 }; Color eColor = COLOR_WHITE; cout << eColor;
// define a new enum named Animal enum Animal { ANIMAL_CAT = -3, ANIMAL_DOG, // assigned -2 ANIMAL_PIG, // assigned -1 ANIMAL_HORSE = 5, ANIMAL_GIRAFFE = 5, ANIMAL_CHICKEN // assigned 6 };
int nValue = ANIMAL_PIG;
Animal eAnimal = 5; // will cause compiler error
Animal eAnimal = static_cast<Animal>(5); // compiler won't complain, but bad style
Animal eAnimal = COLOR_BLUE; // will cause compile error
int ParseFile() { if (!OpenFile()) return -1; if (!ReadFile()) return -2; if (!Parsefile()) return -3; return 0; // success }
enum ParseResult { SUCCESS = 0, ERROR_OPENING_FILE = -1, ERROR_READING_FILE = -2, ERROR_PARSING_FILE = -3, }; ParseResult ParseFile() { if (!OpenFile()) return ERROR_OPENING_FILE; if (!ReadFile()) return ERROR_READING_FILE; if (!Parsefile()) return ERROR_PARSING_FILE; return SUCCESS; }
if (ParseFile() == SUCCESS) { // do something } else { // print error message }
Blocks (compound statements) A block of statements, also called a compound statement , is a group of statements that is treated by th...
Some of the most commonly used operators in C++ are the arithmetic operators — that is, the plus operator (+), minus operator (-), multip...
Hungarian Notation is a naming convention in which the type and/or scope of a variable is used as a naming prefix for that variable. Fo...
Incrementing (adding 1 to) and decrementing (subtracting 1 from) a variable are so common that they have their own operators in C. There...
Even though the char data type is an integer (and thus follows all of the normal integer rules), we typically work with chars in a dif...
In a previous lesson, you learned that you can use structs to aggregate many different data types into one variable. However, structs a...
Access functions An access function is a short public function whose job is to return the value of a private member variable. For ex...
Now we will see passing arguments by reference, we covered the advantage of passing function parameters as const variables. To recap,...
Overloading << For classes that have multiple member variables, printing each of the individual variables on the screen can get t...
The void pointer , also known as the generic pointer, is a special type of pointer that can be pointed at objects of any data type! A ...
0 comments: