C++编头文件的时候后缀是.cpp和.h有什么区别?

如题所述

本质上是没有什么区别的,.h文件实现的功能是声明本文件或.cpp文件中需要被别人使用或知道的变量、类型、函数及宏定义等。.h文件就像是一个接口,具体的实现可以在.cpp中也可以在.h中。.cpp中的函数或变量即便是全局的,在没有其他.cpp文件使用的情况下,也可以不写在.h中。一般的数据,数据结构,接口,还有类的定义放在.h文件中,可以叫他们头文件,可以#include 到别的文件中。功能实现一般都放在具体的.cpp文件中,这样方便文件管理,节约时间,提高效率。你完全可以把功能实现一并放在.h文件中,也可以#include一个.cpp文件到另一个源文件中,这样编译可以通过,但不方便查看与管理,程序(或项目)稍微大点,容易造成混乱。不过编译器编译的都是cpp文件。其实最简单的理解就是.h是头文件,里面一般都是一些函数定义类型定义,不会有运行的代码,cpp是源文件,是用来运行的,在cpp中加上#inlcude<>导入.h文件。

说了一堆,你不会觉的.h没什么作用吧…….h的作用体现在当多个cpp文件需要同一份变量、类型、函数或宏定义之类的话,我们不需要在这些cpp文件中一一声明,只需要在.h文件中声明,然后在这些cpp文件中把这个.h文件包含进去就OK了,对于简短的小程序,.h往往显得多余,因为.h文件重复使用的次数,还不如放在cpp文件中方便。但对于较大的程序来说,使用.h是非常方便的!

表达能力有限,不懂再问……
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-28
.h是头文件,是一些类的声明,方法的声明的地方,比如
class A{
public :A();
void run();
void stop();
~A();
}
上面的写在头文件里,具体实现在cpp里
void A::run(){
内容
}
void A::stop(){
内容
}
这样做的目的是,别人看你写的类,只用看你的声明,就可以了解,怎么调用的你方法,
当然你也可以把代码块也写到.h里面,不过这样会导致重复包含等的问题本回答被网友采纳
第2个回答  2013-05-28
.h是头文件,一般你用的printf,scanf这些都是函数,不过已经在头文件声明好了,你只要在.cpp源文件里面包含了头文件就可以用头文件里面的所以函数了
第3个回答  2013-05-28
.h是头文件,一般只放类的定义还有成员变量和成员函数的定义。
.cpp是源文件,一般放成员函数的实现。
第4个回答  2013-05-28
.cpp后缀的是源文件。 .h后缀的才是头文件。
相似回答