C/C++ Урок 44. Пространства имен
Этот урок мы с вами посвятим пространствам имен в C++. Вообще говоря, вещь эта довольно-таки удобная. Она предназначена для того, чтобы размещать наши типы в некоторой древовидном хранилище. Такое размещение имеет несколько преимуществ. Во-первых, лучшая структуированность вашей программы. Во-вторых, пространства имен позволяют избежать конфликта имен (т. е., например, в программе могут быть классы с одинаковым именем - каждое в своем пространстве имен, разумеется).
Пространства имен активно используются в и других языках - например в C#, Java или VB.NET.
Вот так можно пространство имен использовать:
namespace Com{
namespace FirmName{
class Tech{
public:
void f0();
void f1();
}
}
}
Тут namespace - это ключевое слово, за которым следует имя пространства имен.
Обратите внимание, что пространства имен могут быть вложенные (у нас, например, их 2).
В соотвествующем cpp-файле пространство имен можно писать двумя способами:
namespace Com{
namespace FirmName{
void Tech::f1()
{
}
}
}
void Com::CivBuilder::Tech::f0()
{
}
Как вы видите, во втором способе мы используем :: для получения полного имени класса.
Для того, чтобы этот класс потом где-либо использовать, мы должны в начале файла (в котором мы используем наш класс) указать его пространво имен:
using namespace Com::FirmName;
...
Как видно из приведенного фрагмента, в случае составного пространства имен мы опять используем ::.
|