C ++コードで次の接続を使用したい場合に、ヘッダーファイルを宣言する最良の方法は何ですか? 「インクルードネストが深すぎるエラー」が発生しないようにするためです。
私のエッジクラスには、Nodeオブジェクトを返す必要のある関数がいくつかあります。Edgeクラスについても同じですが、Nodeオブジェクトを返す必要のある関数があります。ただし、コンパイラは、このネストされたループを使用することを許可していません。
Node.h
#ifndef _NODE_h__
#define __NODE_h__
#include "Edge.h"
public:
Node();
~Node();
void setName(string);
string getName();
void addEdge(Edge*);
vector<Edge* > getEdges() { return _edges; };
};
#endif
Edge.h
#ifndef _EDGE_h__
#define __EDGE_h__
#include "Node.h"
class Edge
{
public:
Edge();
Edge(bool);
~Edge();
bool hasBeenSeen() { return _seen; };
void reset() { _seen = false; }; // resets seen param to false
Node* getSource() { return _source; };
Node* getTarget() { return _target; };
void setSource(Node* source) { _source = source; };
void setTarget(Node* target) { _target = target; };
};
#endif