展开全部
以.h位后缀的是头文件,.cpp是源文件。一般都是在一个项目中。
如果是初学c++的话,使用源文件(也就是.cpp)就足够编写出我们需要的源程序了。
正如书本上最最基本的“Hello World”编码,只要在源文件中有一个主函数就可以完成一个程序。
在稍微复杂一点的程序中,也许就会用到头文件(.h)。
事实上,这种头文件和我们代码中预处理里包含的头文件没有什么区别(就好像C语言中#include <stdio.h>)其中stdio.h就是一个头文件。
我们亲手编写头文件就是按照自己的需要,给我们的程序设计这样的头文件。头文件中,一般包含一些类的声明,函数定义之类的东西,方便我们在源文件的主函数中使用。
例如:
在a.h文件中:
#include <iostream>
using namespace std;
class Try
{
public:
void do();
}
(具体定义我就省下不写了哈∩_∩。。。)
接下来,只要在源文件b.cpp中的预处理命令里写成:
#include <iostream>
#include "a.h" (也就是在这里加上#include "a.h"这一句)
using namespace std;
.....
就可以在b.cpp的代码中声明和调用Try类型的对象了。
嗯,差不多就这个意思。
嘿嘿,以上是我的一点理解,如果有不对的地方,请指正。
如果是初学c++的话,使用源文件(也就是.cpp)就足够编写出我们需要的源程序了。
正如书本上最最基本的“Hello World”编码,只要在源文件中有一个主函数就可以完成一个程序。
在稍微复杂一点的程序中,也许就会用到头文件(.h)。
事实上,这种头文件和我们代码中预处理里包含的头文件没有什么区别(就好像C语言中#include <stdio.h>)其中stdio.h就是一个头文件。
我们亲手编写头文件就是按照自己的需要,给我们的程序设计这样的头文件。头文件中,一般包含一些类的声明,函数定义之类的东西,方便我们在源文件的主函数中使用。
例如:
在a.h文件中:
#include <iostream>
using namespace std;
class Try
{
public:
void do();
}
(具体定义我就省下不写了哈∩_∩。。。)
接下来,只要在源文件b.cpp中的预处理命令里写成:
#include <iostream>
#include "a.h" (也就是在这里加上#include "a.h"这一句)
using namespace std;
.....
就可以在b.cpp的代码中声明和调用Try类型的对象了。
嗯,差不多就这个意思。
嘿嘿,以上是我的一点理解,如果有不对的地方,请指正。
更多追问追答
追问
类的头文件、类的cpp文件我都是按照规则写的,但是在使用这个类的时候,我只包含了类的头文件,结果系统报错error link 2001即不认识类中的成员(认为没定义)
但是我手动把类.cpp文件加进去后就不出错了,请问为什么
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询