回答
在C++中,不能创建两个类A和B,其中A将B和B的成员变量将有A的成员变量,这是因为大小必须知道编译器解析成员的时间。如果你仔细想想,这种结构将是无限大:
A将具有B-将有将有B就拥有一个....
这就是为什么我们不能这样做。
您只能将指针作为变量。这是因为指针最后只是内存地址而已,并且内存地址总是已知的(4或8字节)。
A将有B *,就是这样。
B将有A *,就是这样。
为了达到这个目的,你可以做前向声明。
并非完全如此。首先,它也适用于参考(尽管在实践中可能不是一个好主意)。其次,指针无法保证4或8个字节。 – 2015-03-02 17:34:35
我相信'A'也可以包含***参考***到'B','B'参考'A'? (非常类似于指针,但不完全) – abelenky 2015-03-02 17:34:51
@abelenky:没错。尽管对于成员变量来说,指针通常是可取的。 – 2015-03-02 17:35:21
- 1. 如何为两个ViewModel类编写一个通用类?
- 2. 如何用两个模板参数编写一个类,其中一个是另一个的列表/数组?
- 3. 从一个类中获取一个密钥到另一个类
- 4. 用另一个重写一个css类?
- 5. 如何从另一个类中的一个类调用方法
- 6. 我可以编写两个单独的pojo类,一个用于验证,另一个用于休眠映射
- 7. 如何从一个类获取字符串到另一个类?
- 8. 如何从一个类获取indexPath到另一个类
- 9. 用C++编写一个简单的类
- 10. 如何编辑另一个类的值?
- 11. 如何写一个内联的CSS到div的另一个类?
- 12. 的Objective-C,如何从另一个类
- 13. 从位于另一个类中的一个类访问变量
- 14. 如何获得一个列值取决于另一个
- 15. Android - 如何使一个项目取决于另一个
- 16. 如何让一个DLL延迟取决于另一个DLL?
- 17. 写,取决于一个变量R中
- 18. 如何从一个类中的变量获取Android中的另一个类?
- 19. 如何在另一个类
- 20. 如何根据另一个类的类型声明一个类
- 21. 如何从一个类中调用另一个类的方法?
- 22. 如何从另一个类中的一个类调用方法
- 23. 如何在另一个类中创建一个类的实例
- 24. 如何在另一个C++头文件中导入一个类?
- 25. 如何编写一个Python矩形类?
- 26. 如何调用一个类的异步方法到c#中的另一个类?
- 27. 另一个类
- 28. 找出一个类是否是另一个类的一个子类(Objective-C)
- 29. 如何从另一个类中调用另一个类的方法?
- 30. 如何调用从一个类到另一个类的方法
请张贴代码(使用4个空格缩进,或突出显示并单击“{}”按钮),而不是图像。如果一个类依赖于另一个类,那么在使用它之前,您需要声明(并可能定义)它所依赖的类。 – 2015-03-02 17:11:48
@stefan我不认为这是(必然)循环依赖。 – crashmstr 2015-03-02 17:30:29
@crashmstr不一定,我同意。但是这是一个非问题,或者它是循环依赖。 – stefan 2015-03-02 17:31:28