繁体   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