比如这种情况
class Node { public: int index; std::vector<Edge> outs; }; class Edge { public: double weight; Node vertex; };
光阴似箭催人老,日月如移越少年。
先声明一下。
#include<vector> class Edge; class Node { public: int index; std::vector<Edge> outs; }; class Edge { public: double weight; Node vertex; };
严格来说 Node 里面应该用 Edge 的指针或引用,或明确支持不完整类型的容器。不过一般 vector 都是基于指针实现的,所以没有问题。
相互调用类,感觉这样设计其实就有问题
先声明一下。
严格来说 Node 里面应该用 Edge 的指针或引用,或明确支持不完整类型的容器。不过一般 vector 都是基于指针实现的,所以没有问题。
相互调用类,感觉这样设计其实就有问题