Я реализовал следующий класс
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 выход
статус
Может кто-нибудь сказать мне, что я делаю не так?
Спасибо,