Вложенное пространство в C++
Внутри одной области снова может повториться имя. Тогда добавляют еще один уровень.
Вложенное пространство задают записью
namespace shop::tax { ... } в C++17 и новее
или вложенными блоками namespace shop { namespace tax { } }.
Полное имя функции тогда shop::tax::rate.
Заголовок с функцией rate во вложенном пространстве:
#ifndef SHOP_H
#define SHOP_H
namespace shop {
namespace tax {
int rate();
}
}
#endif
Реализацию и вывод запишем в shop.cpp:
#include <iostream>
#include "shop.h"
namespace shop {
namespace tax {
int rate() {
return 20;
}
}
}
int main() {
std::cout << shop::tax::rate() << "\n";
return 0;
}
Объявите app::ui::label как функцию, возвращающую
строку ok, и выведите ее из main
по полному имени.
Перепишите объявление rate через форму
namespace shop::tax в заголовке, сохранив
то же полное имя в коде вызова.