我创建了一个简单的程序,演示了我使用多重继承的Qt应用程序时遇到的运行时错误.继承树看起来像:
QGraphicsItem (abstract)
\
QGraphicsLineItem MyInterface (abstract)
\ /
\ /
MySubclass
Run Code Online (Sandbox Code Playgroud)
以下是代码:
/* main.cpp */
#include <QApplication>
#include <QGraphicsScene>
#include <QGraphicsLineItem>
//simple interface with one pure virtual method
class MyInterface
{
public:
virtual void myVirtualMethod() = 0;
};
//Multiple inheritance subclass, simply overrides the interface method
class MySubclass: public QGraphicsLineItem, public MyInterface
{
public:
virtual void myVirtualMethod() { }
};
int main(int argc, char** argv)
{
QApplication app(argc, argv); //init QApplication
QGraphicsScene *scene = new QGraphicsScene(); //create scene
scene->addItem(new …Run Code Online (Sandbox Code Playgroud)