Я использую наблюдаемый наблюдателем шаблон в своей программе. Все работало до того, как мне пришлось немного изменить код. Если быть точным, я изменил наследование класса IObserver - теперь он наследует QObject:
class IObserver : public QObject
{
...
Я сделал это только из-за одного - мне нужно, чтобы метод deleteLater() использовался в наблюдателе, чтобы я мог вызвать реализацию виртуальной функции deinitialization() IObserver. Таким образом, я мог стандартизировать каждый обработчик сообщений IObserver.
Проблема в том, что я уже унаследовал QObject (косвенно) в некоторых классах Observer. Например, MainForm или AboutDialog. Все идет нормально, пока я не попытаюсь вызвать метод «connect» в классе AboutDialog.
Что я могу сделать? Мне действительно нужен этот метод deleteLater(), поскольку я не могу использовать «удалить это» в коде IObserver — это вызовет деструктор IObserver, а не, например, классы MainForm или Storage.
Спасибо.