我必须编写一个包含2个类的代码,其中一个依赖于另一个如果能帮助我,请看图像(只是为了简化)?
我无法放置图片
答案 0 :(得分:1)
在c ++中,你不能创建两个类A和B,其中A将具有B的成员变量,而B将具有A的成员变量。这是因为编译器在解析成员时必须知道大小。如果你考虑一下,这个结构将是无限大小:
一个将有B将有A将有B将有A ....
这就是无法完成的原因。
您只能将指针作为变量。这是因为,指针在最后,只是内存地址而已,而内存地址总是已知的(4或8个字节)。
A将有B *,就是这样。
B将拥有A *,而这就是全部。
为了达到这个目的,你可以做前进声明,例如。