検索

ホームページ  >  に質問  >  本文

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

比如这种情况

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

class Edge {
public:
    double weight;
    Node vertex;
};
大家讲道理大家讲道理2803日前496

全員に返信(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
  • キャンセル返事