Пришлось тут вспомнить что такое Qt Pimpl. В документации об этом начколько мне известно ничего нет. Поэтому в очередной раз достал вот этот хабро-пост. Всё хорошо, но никак не соображу зачем нужны макросы Q_Q и Q_D, когда сами объекты содержат указатели на публичный интерфейс и на приватную реализацию? Кроме того я так и не понял для чего нужен защищённый конструтор. Можно как-нибудь разъяснить этот момент?