Тема: Qt Проблема множинного успадкування
В мене є клас currency_operation (валютні операції)
і дві форми + класи - "currency" та "new_currency", вони мають брати інформацію (використовувати методи та поля) з currency_operation
Але тут проблема якщо не вставити в клас currency_operation макрос Q_OBJECT
то успадкування не можливе, (або я не знаю як так зробити) а щоб вставати в клас Q_OBJECT потрібно currency_operation успадкуватися від QObject, клас currency успадковується від QMainWindow який в свою чергу успадковується від QObject але й клас new_currency успадковується від QWidget що породжує проблему я не можу написати currency_operation : QMainWindow тим самим уникнути множинного успадкування і його проблем, тому я зробив так
currency_operation
class currency_operation : public QObject
{
Q_OBJECT
...
}
currency
class currency : public currency_operation, public QMainWindow
{
Q_OBJECT
...
}
new_currency
class new_currency : public currency_operation, public QWidget
{
Q_OBJECT
...
}
Зрозуміло що в мене виходить проблема бо QMainWindow і QWidget вже має QObject
Я ще пробував віртуальне успадкування, але й теж помилка
class currency_operation : public virtual QObject
{
Q_OBJECT
...
}
error: 'QObject' is an ambiguous base of 'currency'
currency *_t = static_cast<currency *>(_o);
^
Як можна уникнути помилки "ромба" (якщо ця помилка по іншому називається о виправте мене) ?