社区
C++ 语言
帖子详情
请问头文件和源文件有什么具体区别?
mituzhishi
2004-03-25 04:49:26
.h文件和.cpp文件是困扰我的两个概念:
1.它们在可书写的内容上有具体区别吗?——是不是include<……>只能写在.h中?
2.它们有主从关系吗?
3.一个程序一般有几个.h或.cpp文件呢?
...全文
249
8
打赏
收藏
请问头文件和源文件有什么具体区别?
.h文件和.cpp文件是困扰我的两个概念: 1.它们在可书写的内容上有具体区别吗?——是不是include只能写在.h中? 2.它们有主从关系吗? 3.一个程序一般有几个.h或.cpp文件呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
G895679887
2010-06-05
打赏
举报
回复
法国恢复
cgsw12345
2004-03-25
打赏
举报
回复
同意: tkggynije(明明) 说法!
mituzhishi
2004-03-25
打赏
举报
回复
阿奈,你的“但如果你对cpp文件这样作(#include "*.cpp")会导致链接错误。”
这句话太有用了!我搞了两个小时了,现在才明白!
各位高手,谁继续讲一下两个.cpp文件之间的区别?
abitz
2004-03-25
打赏
举报
回复
1。include<……>和include ”……“应该尽量放在cpp文件中。
在h文件中声明class时,如果对需要用到的type只需前置声明就可以的话,
就不要使用include 。使用include 会造成编译依赖。
2。h文件用来提供声明。使用include时它被简单的加载到cpp文件头部而
成为一个完整的文件。使用h文件主要是由于在不同的编译单元里声明可以有多个,
但定义只能有一个。你可以在不同的cpp文件中include同样的h文件。
但如果你对cpp文件这样作(#include "*.cpp")会导致链接错误。
另:编译器不会编译h文件。它被编译只是由于它被#include了而已。
3。如果使用oo的方法编程,一般每个class会有一个h文件和一个cpp文件。
但这并不是绝对的。
》》另外,两个.cpp文件之间的关系又是怎样的呢?
》》一个.cpp文件中包含main()函数,
》》它能调用另一个.cpp中定义的子函数void print()吗?
两个.cpp文件之间没有必然的关系。
函数(确切的说是non-static函数)具有外部连接,可以被其他文件引用。
建议你找资料了结一下c++的编译模型,了解一下关于内部、外部链接的知识。
wythust
2004-03-25
打赏
举报
回复
1,有,当一个程序分散在若干个文件中时,一般把多个文件共有的符号常量定义,宏定义,extern说明集中在一起,单独组成一个扩展名为.h的文件,称头文件
2,没有
3,不一定,视需要而定
mituzhishi
2004-03-25
打赏
举报
回复
另外,两个.cpp文件之间的关系又是怎样的呢?
一个.cpp文件中包含main()函数,
它能调用另一个.cpp中定义的子函数void print()吗?
tkggynije
2004-03-25
打赏
举报
回复
.h文件一般用于类和函数的声明,.cpp一般用与类和函数的实现
这样做是为了接口与实现相分离,因为在很多场合,原代码不边向用户公布,只向用户提供头文件和2进制的库即可。
至于一个程序有几个.h或.cpp这个好想没具体的规定
gzwl
2004-03-25
打赏
举报
回复
一个到定义 一个到实现
C语言中,
头文件
和
源文件
的关系
通俗易懂的语言来解释C语言中,
头文件
和
源文件
的关系
编译原理实验需要的
头文件
和
源文件
.rar
编译原理实验需要的
头文件
和
源文件
mylexer.c myparser.c myparser.h mylexer.l myparser.y 编译原理实验需要的
头文件
和
源文件
《C深度解析》第二章 C预编译——宏定义、条件编译、
头文件
包含、特殊预编译关键字
(3)条件编译:#if、#else、#elif #endif、#ifdef和#ifndef、#if与defined、条件编译与配置文件 (4)一些特殊的预编译关键字与实际应用:defined、#error、#line、#与##、#pragma (5)文件包含:是否只能包含.h...
visual studio 中如何设置
头文件
与
源文件
切换
visual studio 开发环境不能用快捷键切换
头文件
和
源文件
,给编程者带来了很大不便,本文就给出了,解决办法,按照本文操作,可以简单实现此功能。本文是在自己实现了后,然后在这里和大家分享,转点积分的。
PrintIe
头文件
和
源文件
PrintIe
头文件
和
源文件
用于通过COM组件 跨进程调用打印
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章