DEg*_*ITx 6 c++ inheritance qt
代码示例:
class TestOne : public QWidget // To fix this i need to modify class QWidget : public virtual QObject{}; which belongs to qt
{
// ...
};
class TestTwo : public virtual QObject
{
// ...
};
class Test : public TestOne, public TestTwo
{
// ...
};
Run Code Online (Sandbox Code Playgroud)
有什么其他方法可以解决这个问题?
Nee*_*asu 10
QObject不是为多重继承而设计的.QObject
不支持来自另一个QObject的多重继承.如果从两个类继承,则只有第一个可以是QObject,第二个不是根据http://qt-project.org/doc/qt-4.8/moc.html
不支持使用QObject进行虚拟继承.
您可以在两个QObject之间建立关联并在它们之间转发信号.
您可以以不需要信号/槽并且不从QObject继承的方式抽象您的常用功能.然后继承它.然后将MI中的QObject免费课程与您的班级混合.您可以通过Derived QObject中的信号/槽将调用转发给那些继承的方法
归档时间: |
|
查看次数: |
6599 次 |
最近记录: |