比如这种情况
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 都是基於指標實現的,所以沒有問題。
互相調用類,感覺這樣設計其實就有問題