Pimpl
От: jyuyjiyuijyu  
Дата: 02.08.11 21:38
Оценка:
Всем привет
есть интерфейсный класс ITrack в нем определены несколько вспомогательных классов
например класс исключений Excpt в нем также есть указатель на класс реализацию
ITrackImpl *pImpl в этом классе реализации нужно также использовать типы
определенные в интерфейсном классе ITrack теперь например если мне надо бросить
исключение придется везде писать "ITrack::Excpt" ?

рисунок
track.h
class ITrack
{
   struct Excpt{...};
   class ITrackImpl *pImpl;
};

track.cpp
class ITrackImpl
{
   void DoSmth()
   {
       // o_O
       throw ITrack::Excpt();
   }
};

некрасиво и громоздко каждый раз упоминать ITrack в качестве приставки
потому что кроме Excpt есть еще класс к которому тоже нужен доступ
если ли способ не писать одно и тоже ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.