QT: QObject multiple inheritance and virtual signals
Есть два класса: класс приложения, класс интерфейса. Оба имеют сигналы, оба наследуются от QObject. Но, так как невозможно отнаследоваться от двух QObject'ов, приходится класс интерфейса делать просто чистым абстрактным. Это некруто.
Есть ещё варианты решить эту проблему?
Мне только нужно, чтобы некоторые классы имели один набор сигналов и, может, слотов, при этом я не хочу в каждом из классов переопределять каждый чистый виртуальный сигнал — много кода.
UPD: сигналы не могут быть виртуальными. Теперь я вообще не знаю, что делать, хех.
Есть шикарная книга "банды 4-х" (Гамма, Хелм, Джонсон, Влиссидес. "Приемы объектно-ориентированного проектирования. Паттерны проектирования"). Сильно склоняет от тяготения к наследованию в направлении использования и т.п. И к максимальному отделению интерфейса от реализации (к чистым интерфейсным классам без реализации). Очень ценная книга, советую. Qt как мне кажется по тем-же "ноу-хау" делалась.
Еще в Qt можно использовать обычные с++ классы (созданные без макроса Q_OBJECT и не наследующие Q-классам). Только на них не распространяются сигналы/слоты и прочее Qt-макропрограммирование. И уборка мусора делается вручную.
Я этого и не предлагал. Чистые классы лежат на уровне внутренней реализации Qt. Это просто пример к книжке о проектировании. А прикладным программам надо следовать логичным для Qt шаблонам (владение / делегирование).