C++中的文件引用问题#include....

2024-12-03 11:03:06
推荐回答(4个)
回答1:

首先 我要说一下 CPP文件 和H文件的一点关系
对于做工程来说 我们经常需要几个人共同完成一个比较大的任务 那么
就可能是几个人编了好几个.cpp文件
那么 如果我要用你编的cpp中的函数 怎么办

这样 就引入了.h文件
一般的 .h文件中 只放置类的声明 变量的声明 而且要加包含警戒 避免你在.h文件中定义了类 而导致重复包含
一般的形式是:
#ifnedf A
#define A

#endif
可以一个cpp文件对应一个.h文件
.h文件中包括了你这个cpp文件需要对外使用的函数

其他cpp如果需要用你的cpp中的函数
直接引入你所写的h就可以了
引用的顺序 实际上是无所谓的
.h文件中特别要注意 只写声明 不要定义
所以 你对c1.h的写法 是有一定问题的 包涵的时候 不知道会发生什么事情
如果你想在c2.cpp使用 Atype类型
建议你这样
在c1.h 声明类类型
在c1.cpp定义这个类类型 当然是 类外定义 要用到::

然后 在c2.cpp的头上 包含c1.h
就可以了

希望能对你有所帮助

回答2:

可以使用的,因为这种定义是顺序包容的。

回答3:

一般顺序包含是可以用的哦。但是在定义头文件的时候一定要
#ifndef
#define ****
#endif
来定一一个头文件。如果不这样,你的程序就会有重复包含的错误。
用VS等自动生成一个头文件。看里面怎么声明的应该就清楚了吧。
重复包含问题。
就如你数
a.h中有AAA的定义,但AAA要用到BBB
b.h中有BBB的定义,但BBB中要用到AAA
这就叫循环包含了。这是不可以的。楼主那个只要在头文件定义的时候加上
#ifndef
#define ——————(这是你定义的,避免重复的定义的)
你的定义代码。。
#endif
就可以了哦。

回答4:

c2.h文件中应该有#include "c1.h"