如果我想在我的 C++ 代码中有以下连接,那么声明头文件的最佳方法是什么,以免出现“包含嵌套太深的错误”?
在我的边缘类上,我有一些需要返回 Node 对象的函数。Edge 类也是如此,我有需要返回 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
边缘.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