簡體   English   中英

QObject的多重繼承

[英]Multiple inheritance with QObject

我想繼承QObject和另一個類,並得到一個錯誤:vtable for EduGraph的未定義引用我已經閱讀了一些有關它的線程,並在類定義中修復了繼承類的順序,但尚未解決。問題。

class EduGraph : public QObject, public Graph<Vertex<ENode, EEdge>*> {
private:
    std::list<Vertex<ENode, EEdge>*>::iterator firstSel;
    std::list<Vertex<ENode, EEdge>*>::iterator secSel;
public:

Q_OBJECT

    EduGraph() : firstSel(0), secSel(0) {}
    ~EduGraph();

    void NewNode(const QPoint& p);
    void RemoveNode();
    void Associate();
    void Dissociate();

signals:
    void VertexSelected();
    void VertexDeSelected();
};
`Undefined reference to `vtable for...'` 

通常是虛擬功能未實現的標志。 確保已實現(定義) 從基類繼承的相應虛函數

例如,這將給您同樣的錯誤,因為未實現B中的打印方法。

class A {
public:
    virtual void print() = 0;
};

class B : public A{
public:
    void print();
};

int main()
{
    B b;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM