C/C++中我的某个CPP已经声明了的头文件,其他CPP还要声明吗?

C/C++中我的某个CPP已经声明了的头文件,其他CPP还要声明吗?
比如我主要的main.cpp里已经声明了#include <stdio.h>,那我其他的CPP还要声明吗?问题现在我在main.cpp里声明后在其他CPP里用好像还是为说某函数未声明呢?

第1个回答  2008-10-27
其他CPP里用好像还是为说某函数未声明,那是因为 cpp 之间的编译是毫不相干的,用过 VC 6.0 你就知道,对每个 cpp 文件都可以使用“编译”菜单。

所以,其他CPP当然还要声明
第2个回答  2008-10-27
include <stdio.h>之类的加在你的main.h里面,别的cpp如果用到库函数也可以在它的头文件里加。如果是你自己写的头文件,最好加上#ifndef ....的限制免得重复包含。比如
#if !defined(AFX_ADOSET_H__)
#define AFX_ADOSET_H__

//你的代码.......

#endif本回答被提问者采纳
第3个回答  2008-10-27
在哪里有到哪些函数,就把包含他们的头文件包含进去
楼上说的头文件里#ifndef ...#define ...#endif
也是需要的或者直接#pragma once也行

C\/C++中我的某个CPP已经声明了的头文件,其他CPP还要声明吗?
所以,其他CPP当然还要声明

我将一个类的声明和实现写在一个.cpp里面,外部类如何引用。
不要将类的申明写在.cpp里。外部无法直接引用。(也不是说类申明一定不能写在cpp里,有特殊应用场景,也可以那么做:例如:CPP里的类有基类,cpp里有方法返回new出来的该类对象。外部利用其基类进行访问。类似做成插件了,类厂模式的变种。)注:C和C++有很大的差别。必须在语义上有清晰的定义。

C++调用类头文件为什么只需要include声明部分而不需要类的定义部分
可以做了,作为机翼制造商,我不用关心机身是怎么做的,我只关心机翼的制作和与机身的接口。换到C++这边来,这个用来描述接口的设计图就是.h文件,也就是头文件。具体机翼的实现也就相当于.cpp文件了。所以,在程序中只需要应用头文件,也就是只需要知道接口的设计图。等你根据接口设计图设计好了零件...

...声明了成员函数。在另一个cpp文件中定义了这些成员函数。_百度知 ...
在 main 中使用 这个类的时候并不需要 使用 class.cpp 文件里的定义,而实际是在使用 class.h 里的声明。不信的话你在 class.cpp 里面加一个新类 teacher 的定义,但在 class.h 里不声明,然后你看看在main.cpp 里能不能用 teacher 类。

C++中对自定义函数的声明,放main内还是外,在含类的程序中,貌似只能在...
一般放在函数外,调用之前。放在哪跟有类没类没有直接联系。实践中一般将函数声明、类的定义放在头文件中。而定义放在单独的源文件(.cpp)。如果有哪个源文件中用到了头文件中声明的函数或类,只需#include “***.h”将头文件包含进来。

c++里自己定义的头文件编译了吗,怎样的编译的
头文件是放置函数声明的,不会被编译为二进制文件,自己定义的头文件只需要加入 project 即可被其他 cpp 用 #include "xxx.h" 的形式来引用。你可以在 new ->files 来新建 c++ header file ,这样会被自动加入当前 project 也可以用任意文本编辑器自己编辑 .h 文件,然后通过 project ->add to ...

C++中同一个工程中的一个.cpp文件怎样调用另一个工程中的.cpp文件
include <文件名> 一般不建议这么做,把你要调用的函数,类等在.cpp对应的.h中声明,然后include该.h文件,编译的时候,所有包含该.h文件的会被单独生成中间文件,再根据实际实现链接在一起。这可以减少耦合,随便包含不是一个好习惯。

c++多文件结构的头文件怎么弄?每个cpp文件都要写头文件吗?
也可以不这样 ,也可以几个共用一个头文件; 但是 ,在复杂程序中 ,为了方便找到相关的 ,声明以及函数体一般是一个CPP对应一个.h头文件,在修改了相关函数之后就不用在头文件中到处找相关声明了 例:Test.cpp对应Test.h;Open.cpp对应Open.h;那么必须在相应的cpp文件中预提示相应的头文件;在...

C++工程中包含头文件的问题
不用去看代码查找,是不是还需要包含其它头文件)。2:如果A类依赖D B类不依赖D,可以把它们分开两个头文件。各自Include。这样可避免当D发生变化时, 避免不必要重编译。3:类中尽量采用指针或引用方式调用其它类,这样就可以只声明class xxx了。并且这也符合资源最优 利用,更利于使用多态。

c++中引用其它文件中的全局变量和全局函数时为什么不用extern,对头文件...
头文件的#include指令相当于将后面跟的.h文件的全部内容插入到声明#include的地方,所以是不需要再用extern的。至于其它的已经不算是一个问题,所以我不必回答你。

相似回答