通过前向声明在 C 中创建相互依赖的类
在 C 中,如何在两个类之间建立关系,其中每个类都包含一个对象其他类类型?
直接对象嵌入
不幸的是,将每个类的对象直接嵌入到另一个类中是不可行的。这种循环引用会产生无限的空间需求。
解决方法:基于指针的关系
相反,我们可以利用指针来建立这种关系。为了打破循环依赖,我们使用前向声明。
前向声明
在类头(例如 bar.h 和 foo.h)中,我们声明另一个类的存在而不定义它:
1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 6 7 8 9 |
|
现在,每个标头都知道另一个类没有完整定义的类。
类实现
在相应的 .cpp 文件中,我们包含另一个标头以访问其完整定义:
1 2 3 4 |
|
1 2 3 4 |
|
用途main()
最后,在 main.cpp 中,我们可以创建类的实例:
1 2 3 4 5 6 7 |
|
此策略允许我们创建相互利用的类,而不会产生循环引用问题。
以上是如何使用前向声明在 C 中创建相互依赖的类?的详细内容。更多信息请关注PHP中文网其他相关文章!