C++中,两个头文件互相引用怎么办
来源:互联网 发布:知行理工初始密码 编辑:程序博客网 时间:2024/04/19 22:25
两个头文件相互包含会导致超前引用的问题,所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。发生这种情况是无法编译通过的,不过可以采取一些手段解决该问题 超前引用导致的错误有以下几种处理办法: 1) 使用类声明 在超前引用一个类之前,首先用一个特殊的语句说明该标识符是一个类名,即将被超前引用。其使用方法是: a) 用class ClassB;声明即将超前引用的类名 b) 定义class ClassA c) 定义class ClassB; d) 编制两个类的实现代码。 上述方法适用于所有代码在同一个文件中,一般情况下,ClassA和ClassB分别有自己的头文件和cpp文件,这种方法需要演变成: a) 分别定义ClassA和ClassB,并在cpp文件中实现之 b) 在两个头文件的开头分别用class ClassB;和class ClassA;声明对方 c) 在两个cpp文件中分别包含另外一个类的头文件 NOTE:这种方法切记不可使用类名来定义变量和函数的变量参数,只可用来定义引用或者指针。 2) 使用全局变量 由于全局变量可以避免超前引用,不用赘述。我的习惯是,把类对象的extern语句加在该类头文件的最后,大家喜欢怎样写那都没有什么大问题,关键是保证不要在头文件中胡乱包含。 3) 使用基类指针。 这种方法是在引用超前引用类的地方一律用基类指针。而一般情况下,两个互相引用的类并不涉及其基类,因此不会造成超前引用。
0 0
- C++中,两个头文件互相引用怎么办?
- C++中,两个头文件互相引用怎么办
- C++中,两个头文件互相引用(转载)
- MFc 两个类头文件互相引用
- C++ 两个类头文件互相引用
- 头文件互相引用
- C++中两个头文件相互引用
- C++中两个头文件相互引用
- 头文件需要互相包含怎么办?
- C++中两个类的头文件互相包含问题
- c++中如何避免两个文件互相引用
- class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- “class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- “class”类型重定义 || 防止头文件重复加载 || 两个类之间互相引用
- QT4(C++)两个头文件相互包含(类超前引用)
- C++中两个类中互相引用
- C++中两个类互相引用
- c++中两个类的头文件互相包含编译出错的解决办法
- 载波侦听多点接入/碰撞检测(CSMA/CD协议)
- DateFormat在linux下系统和windows系统下取值不同的问题
- 软件开发职位中英对照表
- UOJ#127. 【NOI2015】程序自动分析
- VLC 推流的简单设置
- C++中,两个头文件互相引用怎么办
- load Sdk stackflow.md
- Leetcode-92. Reverse Linked List II
- HDU5037 贪心
- 深入理解HTTP Session
- unity Physics.Raycast 函数 LayerMask用法测试
- delphi label 背景颜色设置!
- 在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案
- 你必须了解的Session的本质