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
}
In the previous lesson on basic inheritance in C++ , you learned that classes can inherit members and functions from other classes. In th...
Keywords and naming identifiers in c++ Keywords C++ reserves a set of 63 words for it’s own use. These words are called keywords ...
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...
Initializing Arrays Because array variables are treated just like normal variables, they are not initialized when created. C++ provide...
In previous lessons, you learned about local variables (which have block scope) and global variables (which have program scope). There i...
C:\Users\Jatinder\Desktop\example27_cpp.html <!-- Exported by C-Free C/C++ IDE #include<iostream.h> #include<conio.h> ...
While relational operators can be used to test whether a particular condition is true or false, they can only test one condition at a ti...
In the last lesson, you learned that variables declared inside a block have block scope. Block scope variables can only be accessed with...
Previously, you learned that the value of a variable is stored as a sequence of bits, and the data type of the variable tells the compil...
In the previous chapter, you learned all about how to use inheritance to derive new classes from existing classes. In this chapter, we are...
0 comments: