C++头文件和CPP怎么联系起来?

在写C++程序的时候,有时候想封装一些类或方法,所以就想写个库,以后自己慢慢用,现在就是将函数和类的定义写在头文件里面,函数体声明写在CPP文件里面,但是现在问题来了,这... 在写C++程序的时候,有时候想封装一些类或方法,所以就想写个库,以后自己慢慢用,现在就是将函数和类的定义写在头文件里面,函数体声明写在CPP文件里面,但是现在问题来了,这样写的话会说连接错误,找不到函数体,我.H和.CPP都是用的同样的文件名,放在同一个目录下面也不可以,请问怎么将头文件与源文件联系起来?我知道VC下面没有问题,但是别的编译器呢?比如DEV C++等
还有,我看了DEV C++自带的头文件,只看到函数的定义,没有看到声明,请问声明是放在哪里的?听说是LIB文件里面,但LIB是二进制的文件,它是如果做到让头文件与这些LIB文件相联系的呢?
我用的是上面的编译-运行按钮,参数什么的都是IDE自己生成的
展开
 我来答
匿名用户
推荐于2016-10-21
展开全部
  可以直接把CPP源文件和头文件添加到工程,就可以实现关联;
  h文件放声明,cpp文件要么实现h中的函数,要么是用h中的函数。不管是实现还是用,都需要知道返回值类型参数类型等来检查正确性(除非是同时声明和实现),这时候include一下头文件,编译的时候就可以找到声明了。
  h和cpp的名字可以不一样,习惯上写成一样的。
  一个声明只能有一个实现(就是返回值参数完全匹配的实现只有一个),不管这个实现在哪,链接的时候会去找的,找不到实现会报错。
007专业路过
2009-03-06
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
.h 就是只包含声明的头文件。里面没有你类中函数的具体实现方法
.cpp就是对应你那个.h的实现文件。里面有你类中函数的具体实现。
可以用vc++建个工程把他们都添加进来。再rebuid一下。就弄一起了
编译过程中也是顺序的执行。碰到#include<xxxx.h>然后它就取那个xxxx.h里面看你的声明,然后就接着向下编译。。 好像大概这个样子。
找不到函数体是不是说你在.h里面声明的函数在.cpp中没实现~~

我也是编程新手。如果有说错的还请各路英雄指点。。小弟谢谢啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcrain
推荐于2018-03-11 · 超过28用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:60.9万
展开全部
.CPP文件要加上你写的头文件的名字(#include"头文件名字"),不知道你加了没有,一般问题就在这。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zwh202342
2009-03-05 · TA获得超过971个赞
知道大有可为答主
回答量:1417
采纳率:0%
帮助的人:1282万
展开全部
.h文件是用作声明和包含的头文件。

.cpp是实现文件

举例如下
//tract.h 文件
class tract : public Object
{
private:
int strtoint();
protected:
int such;
int left;
int top;
string length;
public:
tract();
~tract();
}

//tract.cpp文件

#include "tract.h"
void tract::tract()
{

}
//-----------------------
void tract::~tract()
{

}
//-----------------------
int tract::strtoint()
{

}
/------------------------
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freewzj
2009-03-05 · TA获得超过392个赞
知道小有建树答主
回答量:364
采纳率:100%
帮助的人:338万
展开全部
编译的时候加进去
如 myclass.h myclass.cpp main.cpp
这样编译:
g++ myclass.cpp main.cpp -o a.out
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式