Сегодня я понял, что если у вас есть 3 класса, например:
класс 1 имеет сигнал
класс 2 имеет сигнал, который подключается к частному слоту класса 3
класс 3 имеет личный слот, а класс 2 - друг класса 3
Если я подключу сигнал класса 1 к сигналу класса 2, я могу по существу вызвать частный слот класса 3, испуская сигнал класса 1.
Если бы сигналы были частными или защищенными, этого бы не произошло.
Есть еще один сценарий, в котором это может быть плохо, представьте, что у нас есть такая настройка:
класс 1 имеет сигнал
класс 2 имеет сигнал, который подключается к защищенному слоту базовых классов
класс 3 - это базовый класс с защищенным слотом
Не нарушает ли это объектно-ориентированные принципы?