Если вы хотите только одно включение, пространства имен не имеют к этому никакого отношения.
Вы можете создать файл, который содержит только #include
операторов.
Примерно так:
//classes file
#include "classA"
#include "classB"
#include "classC"
И включить все из них только с одним включают
#include "classes"
Реальный пример можно найти в STL.
Взять vector
, например:
#ifndef _GLIBCXX_VECTOR
#define _GLIBCXX_VECTOR 1
#pragma GCC system_header
#include <bits/stl_algobase.h>
#include <bits/allocator.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_vector.h>
#include <bits/stl_bvector.h>
#ifndef _GLIBCXX_EXPORT_TEMPLATE
# include <bits/vector.tcc>
#endif
#ifdef _GLIBCXX_DEBUG
# include <debug/vector>
#endif
#endif /* _GLIBCXX_VECTOR */
Вы получаете все это, просто делая #include <vector>