两个类如何能够相互使用?

比如这种情况

class Node {
public:
    int index;
    std::vector<Edge> outs;
};

class Edge {
public:
    double weight;
    Node vertex;
};
阅读 3.3k
2 个回答

先声明一下。

#include<vector>

class Edge;

class Node {
public:
    int index;
    std::vector<Edge> outs;
};

class Edge {
public:
    double weight;
    Node vertex;
};

严格来说 Node 里面应该用 Edge 的指针或引用,或明确支持不完整类型的容器。不过一般 vector 都是基于指针实现的,所以没有问题。

相互调用类,感觉这样设计其实就有问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题