К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

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