c++中类之间的相互引用
mutual reference between classes in c++
很多时候,两个或多个类的实例(很可能是共享头文件的类)通过指针相互引用是很自然的。例如,在一个图中,一条边需要引用它的顶点,反之亦然。相互引用可以通过前向声明来完成,但我希望两个类可以相互操作,即使用彼此的方法或字段。例如,我想,当连接边缘到顶点,两个指针(边->myVertex,顶点->myEdge)可以在一个方法中分配,这可以是任何一个类。有办法吗?谢谢。
方法是使用自由函数,即算法来做这些事情。否则,您的类将失去其语义。例如,您可以使用:
void connect_vertices(Vertex<T> v1, Vertex<T> v2, Edge<T> e) {
}
处理逻辑的函数
你在想这个吗?
void Edge::setVertex(Vertex &v)
{
myVertex = &v;
v.myEdge = this;
}
相关文章:
- 常量引用和引用之间的区别
- C++ 对非常量对象的常量引用和对非常量对象的非常量引用之间的区别
- 左值引用和右值引用之间的区别
- DLL 引用之间的区别?和用途?
- C++中的变量和引用之间的区别是什么
- 句柄、指针和引用之间有什么区别
- 未定义的引用-"a=-b;"之间是否存在差异和`a=-1*b;`和C++中的"a=0-b&
- 返回类型中 && 和没有引用之间的区别
- 如何在函数参数中的右值和右值引用之间进行区分
- 模板中的右值引用和常量左值引用之间的重载
- 作为自变量的右值引用和左值引用之间的差异
- c++中指针和引用之间的区别
- “迭代器”和“对元素的引用”之间的区别
- 基元引用之间的static_cast
- Go和C++中指针和引用之间的逻辑差异
- 引用和左值引用之间有什么区别吗
- 指针 (*) 和引用 (&) 之间的区别
- Lua注册表与轻用户数据和引用之间的区别是什么?
- 数组指针与数组引用之间的差异
- 在指针和引用之间进行转换