наследование графа - PullRequest
       24

наследование графа

0 голосов
/ 20 ноября 2010

Я реализовал следующий класс

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 в main.o ld: символ (ы) не найдены collect2: ld вернул 1 выход статус

Может кто-нибудь сказать мне, что я делаю не так?

Спасибо,

Ответы [ 3 ]

0 голосов
/ 20 ноября 2010

Включен graph.cpp.Решено

0 голосов
/ 20 ноября 2010
  1. Что такое "pColorGraph" в вашем коде?
  2. У вас есть реализация "isConnected ()" в "графе классов"?
0 голосов
/ 20 ноября 2010

Функция не имеет реализации!Это просто заголовок.

...