C++中两个类互相包含
来源:互联网 发布:淘宝客团队运营思路 编辑:程序博客网 时间:2024/06/06 01:38
今天突然想起一个C++的问题,如果一个类A包含类B的实例,而实例B也包含另一个类A,这种方式的代码应该怎么写,按照一般的开发者的想法的代码如下:
文件A.h
#include "B.h"#include <iostream>using namespace std;class A{public: int i; B b;}
文件B.h
#include "A.h"#include <iostream>using namespace std;class B{public: int i; A a;}
但是上面的方法是错误的,如果这样的写的话,会形成死循环,编译无法通过。
正确的写法如下:
文件A.h
#include <iostream>using namespace std;class B;class A{public: int i; B *b;}
文件B.h
#include "A.h"#include <iostream>using namespace std;class B{public: int i; A a;}
主函数:
#include<iostream>#include "B.h"int main(){ B b; ....}
注意事项
1. 主函数中只需要包含B.h就可以,因为B.h中包含了A.h
2. A.h中不需要包含B.h,但是要声明class B。在避免死循环的同时也引用成功B
3.包含class B而没有包含头文件B.h,这样只能声明B类型的指针,但是不能实例化
参考资料:
c++中两个类互相引用的问题
0 0
- C++中两个类互相包含
- 互相包含的两个类
- C++两个类互相包含
- C++中两个类互相包含的策略
- C++中两个类的头文件互相包含问题
- 两个类互相包含的问题
- c++中两个类的头文件互相包含编译出错的解决办法
- 解决MFC中两个类互相包含头文件所导致的错误
- C++中两个类简单互相包含会形成死循环
- 类声明,解决c++两个类互相包含问题
- c++ 学习笔记(47)-C++中两个类中互相包含对方对象的指针问题
- C++中两个类中互相引用
- C++中两个类互相引用
- 类互相包含问题
- C++ 两个包含类互相调用彼此的类成员变量和方法
- 两个类互相包含对方成员,又在2个文件中的情况
- 类互相包含的办法
- C++中两个类互相引用的解决方法
- 从SCN角度 :理解 重建控制文件(通过trace)中的 reset log 和 no retset log
- 为什么你总是学不好Linux技术?这是我的答案
- UVA-4.2-刽子手游戏-489
- 防御 XSS 攻击的七条原则
- Java Web开发中路径问题小结
- C++中两个类互相包含
- TSL SSL
- Linux常用命令发布啦!
- HTML中空格的应用
- mysql使用instr达到in(字符串)的效果
- 设计模式之六大原则
- win32编程笔记
- 第四十讲项目1——小明借书
- 11款最棒的Linux数据恢复工具发布啦!