Menu
Coddy logo textTech

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

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

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

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

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

Доступ с использованием scope resolution ::

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

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

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.

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

#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Проверьте себя

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

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

Потренируйтесь самостоятельно: Онлайн-компилятор C++