C++ 包含头文件 并没包含函数的实现啊

比如我写个类,有头文件,源文件,把它们都放系统目录下,然后只
#include <MyHead.h>
这里包含的是头文件,那类的实现,C++编译器怎么能知道的呢,自动找和头文件名字相同的,后戳名是cpp的文件吗?
搞不懂啊..
一楼回答的最好了,原来是先编译每个CPP,然后根据头文件找OBJ文件
二楼谢谢啦,不过我用的是VC++ 6.0,用C++语言。
三楼,按照现在的语言写法,都是一个头文件(函数定义),一个源文件(函数实现),你那样说好象不对。
四楼,一楼比你说的跟深入些
五楼,很感谢~。
遵守先到先得原则吧。

你的头文件中如果没有相关函数的实现方法,即使你包含这个头文件也是没有用的。其实头文件就是一个函数的集合体,你先把所需要的函数全部定义好,然后放在某个你自己命名的头文件中。以后只要你需要某个函数的时候你就可以直接包含这个头文件。然后直接调用你定义过的函数就行了。c++会自动在包含的头文件中寻找函数的定义(不是在你的cpp文件中寻找定义),然后执行相关的函数。如果不是放在系统目录下面你可以包含全部的路径 例如 #include"D:\\MyHead.h" 如果是在cpp文件中寻找你定义的函数,那么如果你把那个cpp文件删除了,那岂不是会有编译错误。源文件不是必须的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-05-13

C++ 包含头文件 并没包含函数的实现是因为包含的是标准库文件的头文件。

标准库可以这样做,非标准的需要链接源文件。如果是自己编译的库文件,就需要包含库文件并且进行链接了。

示例:

#include <stdio.h>
#include "..\lib.h"
#pragmacomment( lib, "..\\debug\\libTest.lib" )  //指定与静态库一起连接
int main(int argc, char* argv[])
{
printf( "2 + 3 = %d", add( 2, 3 ) );
return 0;
}

本回答被网友采纳
第2个回答  2009-02-02
你用的是 VC++6.0 吗?我对C语言研究的稍微深一点,C++我们没怎么学。对于C语言,VC 中的一些库函数是以 .c 文件的形式存放在一个文件夹下的。这个文件夹的路径是:
\Microsoft Visual Studio\VC98\CRT\SRC
例如VC++6.0默认安装在 C 盘,那么这个文件夹就在:
C:\Program Files\Microsoft Visual Studio\VC98\CRT\SRC
这个文件夹里有一些 .C 文件和头文件,你可以打开看看,例如库函数 printf() 的函数体就存放在 printf.c 中,malloc() 的函数体就存放在 malloc.c 中......
第3个回答  2009-02-02
工程里所有cpp文件都会被编译的。这个时候找不到实现的东西会就留个空位。连接的时候在从别的cpp文件编译出的obj或者外部的lib文件里找。本回答被提问者采纳
第4个回答  2009-02-02
不是编译器,注意了
是链接器
链接的是库文件 .lib 或 .dll
.h 文件可以与 .cpp 文件搭配(编译时)
也可以与 .lib 文件搭配来组装程序(链接时)

C++ 包含头文件 并没包含函数的实现啊
你的头文件中如果没有相关函数的实现方法,即使你包含这个头文件也是没有用的。其实头文件就是一个函数的集合体,你先把所需要的函数全部定义好,然后放在某个你自己命名的头文件中。以后只要你需要某个函数的时候你就可以直接包含这个头文件。然后直接调用你定义过的函数就行了。c++会自动在包含的头文...

C++中.h是什么文件,怎么打开查看
C++中的.h文件,通常被称为头文件,它们在程序开发中起着至关重要的作用。这类文件主要负责声明函数、全局变量以及数据类型,而不包含函数的具体实现。头文件实质上是文本文件,因此,你可以使用任何基本的文本编辑器,如Notepad、Sublime Text或Visual Studio Code,来打开和查看它们的内容。当你在编写C++...

codeblocks里C++工程我包含了头文件依然不能,找不到那个自定义的...
很显然你 hs.cpp中漏掉 #include"hs.h" 包含头文件了。所以在main.cpp中找到了声明,却找不到该函数的定义,虽然你确实在hs.cpp中已经定义了。

.h文件和.cpp文件的区别
。h文件 。h文件是C++程序中的头文件,通常包含函数声明、类声明、变量声明和常量声明等。  。h文件中声明的内容可以被其他文件使用,而它本身并不包含定义。。h文件的作用是为了让程序员在其他文件中使用当前文件中定义的函数、类、变量和常量等,以提高程序的复用性。一般情况下,。h文件...

C\/C++Header File和C++ Source File
建source file。header file是头文件,一般用来声明函数、类的原型,就是说只定义一下名字、参数什么的,没有具体实现函数与类。source file是具体实现的地方,初学的话都放在source file里。

c语言头文件问题.实现文件include头文件,而头文件不include实现文件,那 ...
对于静态方式,基本所有的C\/C++编译器都支持一种链接方式被称为Static Link,即所谓静态链接。在这种方式下,我们所要做的,就是写出包含函数,类等等声明的头文件(a.h,b.h,...),以及他们对应的实现文件(a.cpp,b.cpp,...),编译程序会将其编译为静态的库文件(a.lib,b.lib,...)。在...

C\/C++头文件以及避免头文件包含造成的重定义方法
C\/C++编程中,头文件是关键元素,它们包含了函数声明、宏定义等,用于多个源文件共享。标准做法是将常量、宏、全局变量和函数原型写在头文件中,通过预处理指令#include引用。头文件包含时要特别注意,避免多次引用导致的重复内容,通常采用条件编译(如#ifndef...#define...#endif结构)来包裹整个头文件...

C++调用类头文件为什么只需要include声明部分而不需要类的定义部分
换到C++这边来,这个用来描述接口的设计图就是.h文件,也就是头文件。具体机翼的实现也就相当于.cpp文件了。所以,在程序中只需要应用头文件,也就是只需要知道接口的设计图。等你根据接口设计图设计好了零件,交给组装工厂,组装工厂(也就是连接器)会把所有的零件(编译器编译.cpp生成的.obj)连接...

C++的头文件和实现文件分别写什么
于是,在C++中就要分出了头(.h)文件和实现(.cpp)文件,并且也有了Package 的概念。 对于以C 起步,C#作为“母语”的我刚开始跟着导师学习C++对这方面还是感到很模糊。虽然我可以以C 的知识面对C++的语法规范,用C#的思想领悟C++中类的使用。但是C#中定义和实现是都在一个文件中(其实都是在类里面)...

c++的源程序包含.h或.cpp的作用是什么?没有会怎么样呢
c++必须含有cpp文件,程序代码都在cpp中了,.h是头文件,一般用来包含其他头文件、声明一些函数、类,这样在其他文件中直接包含.h文件就可以包含这些函数和类了。当然,对一些小程序可以没有.h文件,而是都写在cpp文件中,但为以后考虑,还是分开比较好 ...

相似回答