J'ai mis en œuvre la classe suivantegraphique héritage
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;
};
et a créé une nouvelle, héritée du graphique
class colorGraph : public graph {
public:
colorGraph() { }
~colorGraph() { }
class colorNode : public graph::node {
public:
colorNode() { }
~colorNode() { }
luint color;
};
};
Cependant, le programme principal qui suit ne trouve pas le bon fonctionnement:
int main() {
pColorGraph myGraph;
myGraph = new colorGraph();
myGraph->isConnected();
return 0;
}
Symboles non définis:
"graphique :: isConnected()", référencé de: _main dans main.o ld: symbole (s) non trouvé collect2: ld retourné 1 sortie état
quelqu'un peut me dire ce que je fais faux?
Merci,
Vous n'avez jamais réellement écrit l'implémentation de 'graph :: isConnected()'? – EboMike