|
|
||
4. Пространства имен с одинаковыми названиями |
||
Допускается объявление пространств имен в нескольких местах (либо в нескольких файлах, либо в нескольких местах внутри одного файла). Всё, что находится внутри одного блока имен, считается частью только этого блока. add.h: namespace DoMath
{
// Функция add() является частью пространства имен DoMath
int add(int x, int y)
{
return x + y;
}
}
subtract.h: namespace DoMath
{
// Функция subtract() является частью пространства имен DoMath
int subtract(int x, int y)
{
return x - y;
}
}
main.cpp: #include "add.h" // импортируем DoMath::add()
#include "subtract.h" // импортируем DoMath::subtract()
int main(void)
{
std::cout << DoMath::add(5, 4) << '\n';
std::cout << DoMath::subtract(5, 4) << '\n';
return 0;
}
Всё работает, как нужно. Стандартная библиотека C++ широко использует эту особенность, поскольку все заголовочные файлы, которые находятся в ней, реализуют свой функционал внутри пространства имен std.
|
||
|
||
4 |