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

浏览:33日期:2023-05-24

问题描述

比如这种情况

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

问题解答

回答1:

先声明一下。

#include<vector>class Edge;class Node {public: int index; std::vector<Edge> outs;};class Edge {public: double weight; Node vertex;};

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

回答2:

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

相关文章: