11. Пространства имён

Для определения пространства имён используется ключевое слово namespace, за которым должен следовать идентификатор (имя) определяемого пространства (анонимность не допускается), а затем в фигурных скобках должны располагаться константы, переменные, классы и прочие сущности, входящие в это пространство.
Пример:
namespace audio
{
const int MONO = 1;
const int STEREO = 2;
}
Полное имя переменной или класса, входящих в пространство имён, состоит из имени пространства, за которым следуют два двоеточия (::), и имени самой переменной или класса.
Полное имя нужно указывать во всех случаях, когда обращение происходит за пределами того пространства имён, в котором была определена переменная, константа или класс.
Пример:
// ...
void main ()
{
func (audio::MONO);
// ...
}

void func (int mode)
{
switch (mode)
{
case audio::MONO:
// ...
break;
case audio::STEREO:
// ...
break;
}
}
Пространства имён могут быть вложенными, например:
namespace configuration
{
namespace ini_file
{
class reader
{
// ...
}
}
namespace xml_files
{
class reader
{
// ...
}
}
}
В примере определены пространство имён configuration и два вложенных в него пространства ini_files и xml_files.
Полное имя теперь будет включать все идентификаторы пространств, например, configuration::ini_files::reader или configuration::xml_files::reader.

Назад | Содержание | Вперёд

Поделитесь с друзьями

WordPress Lessons