簡體   English   中英

圖繼承

[英]graph inheritance

我已經實施了以下課程

class graph {
    friend ostream& operator<< (ostream&, graph&);
public:
    graph() { }
    ~graph() { clearMap(); }

    class node {
        friend ostream& operator<< (ostream&, const graph::node&);
    public:
        node() { }
        node(const node&);
        node(luint inID) { ID = inID; }
        virtual ~node() { neighbors.clear(); }

        node& operator=(const node&);
        void addNeighbor(luint);
        void addNeighbor(const std::vector<luint>& );

        luint ID;
        std::vector<luint> neighbors;
    };

    void addNode(const node&);
    void addNode(const node*);
    void addNode(luint);
    void readFile(const char * );
    void clearMap();

    void randGeom(luint, double);
    void connRandGeom(luint, double);
    bool isConnected();


protected:
    std::map<luint, node*> nodeMap;
};

並創建了一個新的,繼承自圖

class colorGraph : public graph {
public:
    colorGraph() { }
    ~colorGraph() { }

    class colorNode : public graph::node {
    public:
        colorNode() { }
        ~colorNode() { }

        luint color;
    };
};

但是,以下主程序找不到適當的功能:

int main() {
    pColorGraph myGraph;
    myGraph = new colorGraph();
    myGraph->isConnected();
    return 0;
}

未定義符號:
“ graph :: isConnected()”,引用自:main.o中的_main ld:找不到符號collect2:ld返回1退出狀態

有人可以告訴我我在做什么錯嗎?

謝謝,

該函數沒有實現! 它只是它的標題。

包含graph.cpp。 解決了

  1. 您的代碼中的“ pColorGraph”是什么?
  2. 您是否在“類圖”中實現了“ isConnected()”?

暫無
暫無

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

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