Глава 24. Пространства имен 677

switch (MyColor) ( case Red:

cout « "Красный";

break;

case Green:

cout « "Зеленый";

break;

case Blue:

cout « "Голубой";

break;

» • cout « "\n";

При попытке использовать пространство таким образом компилятор выдаст длинный список неопределенных символов. Это неудивительно, поскольку все, что имеется в пространстве simple, в main () невидимо.

Определения, сделанные внутри пространства имен, можно сделать доступными с помощью операции разрешения области видимости (::), которая, конечно, хорошо известна тем, кто работал с классами C++. Нужное имя определения присоединяется к имени пространства. В листинге 24.6 дается исправленная версия программы, которая компилируется, редактируется и выполняется без ошибок.

h06771.jpg

void main() {

// Использование класса

Simple::Dog MyDog;

MyDog.BarkO ;

Simple::Color MyColor = Simple::MyFunc(), cout « "Цвет: ";

switch (MyColor) {

case Simple::Red:

cout « "Красный";

break;

case Simple::Green:

cout « "Зеленый";

breaks-case Simple::Blue:

. cout « "Голубой";

break;

} cout « "\n";