C++中.CPP文件与.h文件有什么不同。详解与举例怎么使用

 我来答
小舅舅有点帅
2019-01-12 · TA获得超过1万个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

以.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和h文件:

建立一个工程,里面有三个文件hello.hpp、hello.cpp、main.cpp

// hello.hpp

#ifndef HELLO_HPP

#define HELLO_HPP

class Hello

{

public:

void show() const;

};

#endif

====================

// hello.cpp

#include "hello.hpp"

#include <iostream>

using std::cout;

using std::endl;

void Hello::show() const

{

cout << "Hello World" << endl;

}

====================

// main.cpp

#include "hello.hpp"

int main()

{

Hello hello;

hello.show();

return 0;

参考资料来源:百度百科 - C++

百度百科 - cpp (一种计算机编程语言)

Zj小轲
2013-08-12 · TA获得超过334个赞
知道答主
回答量:28
采纳率:100%
帮助的人:28.8万
展开全部
以.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类型的对象了。
嗯,差不多就这个意思。
嘿嘿,以上是我的一点理解,如果有不对的地方,请指正。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pansyfalling
2013-08-12 · TA获得超过325个赞
知道答主
回答量:6
采纳率:0%
帮助的人:8403
展开全部
.h文件是声明文件,可以放类定义及声明:
#ifndef _EVENT_H_
#define _EVENT_H_
#pragma once
#include <string>
using std::string;
class Event
{
public:
Event(void);
~Event(void);
void InitEvent(int event_time,string event_address,string event_contents);
void CopyFrom(const Event& from);
void MergeFrom(const Event& from);
void Clear();
bool IsInitialized() const;
private:
int event_time;
string event_address;
string event_contents;
};
#endif
.cpp文件是实现文件,可以放类的定义:
#include "Event.h"
#include <string.h>
using std::string;
Event::Event(void)
{
}
Event::~Event(void)
{
}
void Event::InitEvent(int time,string address,string contents)
{
event_time = time;
event_address = address;
event_contents = contents;
}
......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ken_Wu_Jay
2013-08-12 · TA获得超过1654个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:290万
展开全部
.h文件时头文件,放的是对类的声明什么的
.cpp文件时源文件,放的是对类的定义什么的
所以.cpp文件要加include相应的.h头文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lvchengwei
2013-08-12
知道答主
回答量:27
采纳率:0%
帮助的人:6.3万
展开全部
.h的文件一般只包含函数声明,类定义。.cpp的文件包含函数的定义。一般情况下一个.cpp的文件应该包含一个同名的.h文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式