2 zhuyucheng11 zhuyucheng11 于 2015.07.15 19:16 提问

请问c语言中.h文件如何从cpp中提取或者是撰写 1C

大一的课程设计的一个小程序,老师要求有.h的头文件,但是我只有一个cpp文件,请问这个.h文件如何写?

9个回答

wenwuwenwuwenwu
wenwuwenwuwenwu   2015.07.16 09:34

如果你说你手头上有一个简单的.cpp例子的话,那我这里也举一个简单的例子给你作为参考,假如有一个Calc.cpp (注意calc是计算这个单词的缩写
calculator的缩写),这个程序有些下面的一些语句
#include "Calc.h"

int Calc::sum(int a, int b)
{
return (a+b);
}

int minus(int a, int b)
{
return (a-b);
}


注意到了,这里calc.cpp里面包含了一个"Calc.h"的头文件,这个头文件里面内容就是你最想知道的怎么写的。下面我直接把"Calc.h"里面的内容贴
出来
#ifndef CALC_H
#define CALC_H

class Calc{
public:
int sum(int a, int b); // return sum ,这里是对Calc.cpp里面的sum函数的声明
int minus(int a, int b); // return difference ,这里是对Calc.cpp里面的minus函数的声明
// 如果你的Calc.cpp里面还有一些数据结构之类的变量,或者宏定义的内容,也可以在这里声明,没有就可以不用声明
};
#endif


这里

#ifndef CALC_H //注意这里CALC_H跟的是两个英文符号的下划线
#define CALC_H //注意这里CALC_H跟的是两个英文符号的下划线

... //中间的内容

#endif


可以简单的理解为一个固定的模式,为什么是CALC_H呢? 你可以先简单的理解为CALC就是你头文件的Calc.h后缀名前面的名字的全部大写就行了。
然后后面
... //中间内容


这里取决于你的.cpp小程序里面有实现了多少函数,用到了什么数据结构之类的东西了, 然后再.h头文件里面声明;
记住.cpp函数是对函数的实现,而.h主要作用是对.cpp函数里面用到的东西的声明;

讲的可能不是很清晰,有不懂的欢迎留言

oyljerry
oyljerry   Ds   Rxr 2015.07.15 19:22

h文件就是放你cpp文件中的定义。函数申明这些。

Evankaka
Evankaka   Ds   Rxr 2015.07.15 19:43

把cpp里的函数 和用到的全局变量提取出来,放到.h文件中定义。
同时 也要修改cpp里的函数声明方式

u012216727
u012216727   Ds   Rxr 2015.07.15 20:15
91program
91program   Ds   Rxr 2015.07.15 20:47

将声明类的放在头文件中,如:结构体等类型定义,函数原型声明等
变量定义,函数的实现等,放在源文件中

zuishikonghuan
zuishikonghuan   2015.07.15 21:41

把函数声明,结构体定义,类定义放到.h里面

baidu_25226775
baidu_25226775   2015.07.16 09:54

楼上已经讲得很清晰了

qq1301816064
qq1301816064   2015.07.16 11:16

如果你能保证这个文件不会被包含多次,那么可以直接将变量的申明,结构体的申明,函数的定义和实现全都写到一个.h文件下,在主函数里包含这个文件就行了。注意只能包含一次,否则就会编译出错

f455176715
f455176715   2015.07.17 17:23

楼上的楼上的楼上已经说的很清楚了,

.h文件(head,头文件)其实就是把你定义的数据或者函数声明单独拉出来放在一个文件里,
然后在其他文件要用到这些数据或者函数时只需要 #include xxxx.h就可以 了

当然你可能觉得为什么要把这些数据定义啊函数声明的单独拉出来呢?
因为你现在大一的课程对吧,接触到的都是不超过几百行不超过上千条数据定义的小程序

等你接触到代码上万行的项目,你就明白.h文件的意义了

Csdn user default icon
上传中...
上传图片
插入图片