首页 > 两个类如何能够相互使用?

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

比如这种情况

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 都是基于指针实现的,所以没有问题。

【热门文章】
【热门文章】