Нет никакого реального способа сделать это, кроме как что-то вроде:
#define AB mynamespace::A::B;
Чтобы разрешить это:
mynamespace::A::B::C myobj;
Обратите внимание, что многие программисты (включая меня) думают, что этоплохая практика, потому что не очевидно, что такое AB.
Стать:
AB::C myobj;
Вы не можете использовать 'using' для классов, только пространства имен.Таким образом, в файле cpp вы можете сделать:
using mynamespace;
A::B::C myobj;
Но не:
using mynamespace::A::B;
C myobj;
Как правило, многие люди согласны с тем, что наилучшей практикой является полное определение имен.