Я использую наблюдаемый наблюдаемый шаблон в моей программе. Все работало до того, как мне пришлось немного изменить код. Если быть точным, я изменил наследование класса IObserver - сейчас он наследует QObject:Множественное наследование QObject из-за доступа к методу deleteLater()
class IObserver : public QObject
{
...
Я сделал это потому, что только одна вещь - мне нужно deleteLater() метод, который будет использоваться в качестве наблюдателя, так что я бы быть в состоянии вызвать реализацию деинициализации виртуальных функций() IObserver. Таким образом, я мог стандартизировать каждый обработчик сообщений IObserver.
Проблема в том, что я уже унаследовал QObject (косвенно) в некоторых классах Observer. Как MainForm или AboutDialog. Все идет хорошо, пока я не попытаюсь вызвать метод «connect» в классе AboutDialog.
Что я могу сделать? Мне действительно нужен этот метод deleteLater(), поскольку я не могу использовать «delete this» в коде IObserver - это вызовет деструктор IObserver, а не классы MainForm или Storage.
спасибо.
Возможно, некоторый намек здесь: [http://stackoverflow.com/questions/3259728/using-qt-signals-and-slots-with-multiple-inheritance](http://stackoverflow.com/questions/3259728/ using-qt-signals-and-slots-with-multiple-inheritance) – jbh