搜尋

首頁  >  問答  >  主體

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

比如这种情况

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

class Edge {
public:
    double weight;
    Node vertex;
};
大家讲道理大家讲道理2805 天前505

全部回覆(2)我來回復

  • ringa_lee

    ringa_lee2017-04-17 13:15:20

    先聲明一下。

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

    嚴格來說 Node 裡面應該用 Edge 的指標或引用,或明確支援不完整型別的容器。不過一般 vector 都是基於指標實現的,所以沒有問題。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 13:15:20

    互相調用類,感覺這樣設計其實就有問題

    回覆
    0
  • 取消回覆