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...
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...
Overloading the comparison operators is simple once you’ve learned how to overload the arithmetic operators. Because the comparison oper...
C++ has two kinds of constants: literal, and symbolic. Literal constants Literal constants are literal numbers inserted into the cod...
C:\Users\Jatinder\Desktop\example27_cpp.html <!-- Exported by C-Free C/C++ IDE #include<iostream.h> #include<conio.h> ...
Access functions An access function is a short public function whose job is to return the value of a private member variable. For ex...
We are going to start the development of c++ programs for this you are required to spend time in code writing and have paces ions becau...
Bit manipulation operators manipulate individual bits within a variable. Why bother with bitwise operators? In the past, memory was ...
Integers are great for counting whole numbers, but sometimes we need to store very large numbers, or numbers with a fractional component...
Incrementing (adding 1 to) and decrementing (subtracting 1 from) a variable are so common that they have their own operators in C. There...
0 comments: