c++ - c++中类之间的相互引用

标签 c++ circular-reference

<分区>

很多时候,两个或多个类的实例(很可能是共享一个头文件的类)将通过指针相互引用是很自然的。例如,在图中,边需要引用它的顶点,反之亦然。单独的相互引用可以通过前向声明来完成,但我希望这两个类可以相互操作,即使用彼此的方法或字段。例如,我希望在将边连接到顶点时,两个指针(edge->myVertex,vertex->myEdge)都可以在一个方法中分配,该方法可以属于任一类。 有办法吗? 谢谢。

最佳答案

做到这一点的方法是使用自由函数,即算法来完成这些事情。否则,您的类将失去其语义。例如,您可以:

void connect_vertices(Vertex<T> v1, Vertex<T> v2, Edge<T> e) {
}

处理该逻辑的函数。

关于c++ - c++中类之间的相互引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724961/

相关文章:

sql - 防止 MS-SQL 表中的循环引用

JavaScript-使用对象的方法从父数组中删除对象

c++ - 我的类的成员函数没有识别出我的类变量之一存在

c++ - 替换 LLVM 指令的操作数

c# - SQL Server 每秒可以处理多少个请求?

c++ - 为什么静态成员函数只有在有返回值的情况下才能在全局范围内调用?

Maven 循环属性定义

c++ - 通过在另一组上调用 erase(iterator) 从一组中删除元素。这是正常行为吗?

c# - 使用 Automapper 导致堆栈溢出的循环引用

Java Swing 布局管理器循环引用被设置两次