头文件相互引用的问题

原创 2016年12月23日 19:31:38

两个类存在相互应用头文件的情况:

例如:

类A:

class A{

}

类B:

class B{

}


在文件前加入class 申明,用于超前引用。
类文件A:

#include “B.h”
class B;
class A{
   A(void);
  ~A();
}

类文件B:

#include "A.h"
class A;
class B{
   B(void);
   ~B();
}


加入class 后可以用于申明,但不能用于实例化。因此只能用于申明对象的指针以及引用。

加入#inlcude “ 头文件” 是为了实例化对象,看情况时候需要加入头文件以及class 申明。

相关文章推荐

C++中头文件相互包含的几点问题

一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题。假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中,但...
  • hmsxyz
  • hmsxyz
  • 2011年07月01日 17:11
  • 96

解决头文件相互包含问题的方法

所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。                 一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例...

C语言中头文件相互包含问题

.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。   1)h文件作用    1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明; ...
  • Vonssss
  • Vonssss
  • 2014年10月11日 14:31
  • 2292

关于前置声明与C++中头文件相互包含的几点问题

一个前置声明是指在程序员尚未给出完整定义之前对一个标示符(一个类型、一个变量或者一个函数)的声明。一个很简单的例子就是我们在函数A中使用了函数B,但是函数B的声明在函数A之后,这个时候,就需要对函数B...
  • whucv
  • whucv
  • 2012年08月17日 22:33
  • 2423

C/C++ 中头文件相互包含引发的问题

C++中的#include 放在头文件中还是放在cpp文件中? -  http://blog.sina.com.cn/s/blog_53b45874010177dk.html 今天下午遇到一...

头文件相互包含的问题

#include using namespace std; class B; class A { // B b; B *b; }; class B { A a; }; in...

VC++开发中解决头文件相互包含问题的方法

所谓超前引用是指一个类型在定义之前就被用来定义变量和声明函数。     一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类CMyView中保留...

MFC之头文件相互包含问题及解决方法 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

问题一:error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int原因分析:1. (此情况经常出现在大型工程项目中)如果存在两个类的头文件a.h和b.h,在a.h...

关于前置声明与C++中头文件相互包含的几点问题

一个前置声明是指在程序员尚未给出完整定义之前对一个标示符(一个类型、一个变量或者一个函数)的声明。一个很简单的例子就是我们在函数A中使用了函数B,但是函数B的声明在函数A之后,这个时候,就需要对函数B...

关于C++头文件相互包含的问题(个人见解)

问题描述:
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:头文件相互引用的问题
举报原因:
原因补充:

(最多只允许输入30个字)