Menu
Coddy logo textTech

Пространства имен и область видимости

Часть раздела Объектно-ориентированное программирование путешествия по C++ на Coddy — урок 4 из 104.

Пространства имен группируют связанный код вместе и предотвращают конфликты имен. Оператор разрешения области видимости :: обращается к элементам внутри пространства имен.

Создание пространства имен

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

Доступ с помощью оператора разрешения области видимости ::

int result = MathTools::add(5, 3);  // результат = 8

Использование директивы, чтобы не вводить пространство имен каждый раз

using namespace MathTools;
int result = add(5, 3);  // То же самое, что и MathTools::add(5, 3)

Пространство имен std

std::cout << "Hello" << std::endl;
// или
using namespace std;
cout << "Hello" << endl;

Пространства имен организуют код и предотвращают конфликты имен. Пространство имен std содержит все возможности стандартной библиотеки C++, такие как cout, cin, string и endl.

challenge icon

Задание

Средне

Создайте функции внутри пространства имен MathTools:

  • add(int a, int b) — возвращает сумму
  • multiply(int a, int b) — возвращает произведение

Объявите их в MathTools.h и реализуйте в MathTools.cpp.

Шпаргалка

Пространства имен группируют связанный код вместе и предотвращают конфликты имен. Оператор разрешения области видимости :: обращается к элементам внутри пространства имен.

Создание пространства имен:

namespace MathTools {
    int add(int a, int b) {
        return a + b;
    }
}

Доступ с помощью разрешения области видимости :::

int result = MathTools::add(5, 3);  // result = 8

Использование директивы, чтобы не вводить пространство имен каждый раз:

using namespace MathTools;
int result = add(5, 3);  // То же самое, что и MathTools::add(5, 3)

Пространство имен std содержит все возможности стандартной библиотеки C++, такие как cout, cin, string и endl:

std::cout << "Hello" << std::endl;
// или
using namespace std;
cout << "Hello" << endl;

Попробуйте сами

#include <iostream>
#include "MathTools.h"

int main() {
    int a, b;
    std::cin >> a >> b;
    
    std::cout << "Add: " << MathTools::add(a, b) << std::endl;
    std::cout << "Multiply: " << MathTools::multiply(a, b) << std::endl;
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование