- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
头文件如何使用参考资料
直接把你写好的CPP的类的定义部分作为一个文件,叫做name.h ,然后把函数的实现,以及事件map(如果有的话)放到name.cpp中,当然这个name.ccp要#include name.h,这样就OK了!
别的文件用name中的函数时,只需要#include name.h就可以了,不需要#include name.cpp;一个原则就是.h文件用来声明变量和函数,.cpp文件用来定义变量和实现函数。注意声明和定义的区别
********************************************************************************
C语言中的.h文件和我认识由来已久,其使用方法虽不十分复杂,但我却是经过了几个月的“不懂”时期,几年的“一知半解”时期才逐渐认识清楚他的本来面目。揪其原因,我的驽钝和好学而不求甚解固然是原因之一,但另外还有其他原因。原因一:对于较小的项目,其作用不易被充分开发,换句话说就是即使不知道他的详细使用方法,项目照样进行,程序在计算机上照样跑。 原因二:现在的各种C语言书籍都是只对C语言的语法进行详细的不能再详细的说明,但对于整个程序的文件组织构架却只字不提,找了好几本比较著名的C语言著作,却没有一个把.h文件的用法写的比较透彻的。下面我就斗胆提笔,来按照我对.h的认识思路,向大家介绍一下。
让我们的思绪乘着时间机器回到大学一年级。C原来老师正在讲台上讲着我们的第一个C语言程序: Hello world!
文件名 First.c
main()
{
printf(“Hello world!”);
}
例程-1
看看上面的程序,没有.h文件。是的,就是没有,世界上的万物都是经历从没有到有的过程的,我们对.h的认识,我想也需要从这个步骤开始。这时确实不需要.h文件,因为这个程序太简单了,根本就不需要。那么如何才能需要呢?让我们把这个程序变得稍微复杂些,请看下面这个,
文件名 First.c
printStr()
{
printf(“Hello world!”);
}
main()
{
printStr()
}
例程-2
还是没有, 那就让我们把这个程序再稍微改动一下.
文件名 First.c
main()
{
printStr()
}
printStr()
{
printf(“Hello world!”);
}
例程-3
等等,不就是改变了个顺序嘛, 但结果确是十分不同的. 让我们编译一下例程-2
和例程-3,你会发现例程-3是编译不过的.这时需要我们来认识一下另一个C语言中的概念:作用域.
我们在这里只讲述与.h文件相关的顶层作用域, 顶层作用域就是从声明点延伸到源程序文本结束, 就printStr()这个函数来说,他没有单独的声明,只有定义,那么就从他定义的行开始,到first.c文件结束, 也就是说,在在例程-2的main()函数的引用点上,已经是他的作用域. 例程-3的main()函数的引用点上,还不是他的作用域,所以会编译出错. 这种情况怎么办呢? 有两种方法 ,一个就是让我们回到例程-2, 顺序对我们来说没什么, 谁先谁后不一样呢,只要能编译通过,程序能运行, 就让main()文件总是放到最后吧. 那就让我们来看另一个例程,让我们看看这个方法是不是在任何时候都会起作用.
文件名 First.c
play2()
{
……………….
play1()
………………..
}
play1()
{
……………………..
play2()
……………………
);
}
main()
{
play1()
}
例程-4
也许大部分都会看出来了,这就是经常用到的一种算法, 函数嵌套, 那么让我们看看, play1和play2这两个函数哪个放到前面呢?
这时就需要我们来使用第二种方法,使用声明.
文件名 First.c
play1();
play2();
play2()
{
……………….
play1()
………………..
}
play1()
{
……………………..
play2()
……………………
);
}
main()
{
play1()
}
您可能关注的文档
- 天然气脱硫技术论文参考资料.doc
- 天然气运行注意事项课件.ppt
- 天然药物化学实验课件.ppt
- 天空之城(小提琴钢琴伴奏版)参考资料.doc
- 天秤星座参考资料.doc
- 天职__阅读理解及答案参考资料.doc
- 天车秤校准规范参考资料.doc
- 天问千声悲故国,课件.ppt
- 太 阳 能 水 杯课件.ppt
- 太初历与三统历探微参考资料.doc
- 301115_2024_#ESG_联检科技_2024年度环境、社会和治理(ESG)报告_2025-04-29.pdf
- 300308_2024_#ESG_中际旭创_2024年环境、社会及公司治理(ESG)报告_2025-04-21.pdf
- 想生科技产品注册公告及所需文件상생기술제품_등록_공고문_및_제출_서류.pdf
- 300760_2024_#SD_迈瑞医疗_2024年度可持续发展报告_2025-04-29.pdf
- 300870_2024_#SD_欧陆通_欧陆通2024年可持续发展报告_2025-04-22.pdf
- 301369_2024_#ESG_联动科技_2024年度环境、社会与公司治理(ESG)报告_2025-04-18.pdf
- 300937_2024_#SD_药易购_2024年度可持续发展报告_2025-04-25.pdf
- 300621_2024_#ESG_维业股份_维业股份:2024年度环境、社会和公司治理(ESG)报告_2025-04-19.pdf
- 300428_2024_#SD_立中集团_立中四通轻合金集团股份有限公司2024年度可持续发展报告-中文版_2025-04-21.pdf
- 301167_2024_#ESG_建研设计_2024年度环境、社会及公司治理(ESG)报告_2025-04-04.pdf
最近下载
- 2024年航空机务基础维修执照(起落架装置)专业技术知识考试题(带答案).pdf VIP
- 2025江苏南通高新区(近海镇)公办幼儿园秋季编外教职工招聘8人笔试备考试题及答案解析.docx VIP
- 英语单元整体教学设计.ppt VIP
- 第5章 拍摄与制作抖音短视频.pptx VIP
- 英剧剧本神探夏洛克台词本中英文对照精排版第一季第一集.pdf VIP
- 硫酸装置操作规程2018.7.29修改版.docx VIP
- 基于义务教育课程标准的(人教2024版)七年级地理上册内容解读 课件(新教材).pdf VIP
- 8.21-浙江省A9协作体暑假返校联考试题及答案2024年8月浙江省A9协作体暑假返校联考(扫描版) 1.docx VIP
- 2024年贵州省贵阳市云岩区延安中路街道招聘社区工作者真题及参考答案详解.docx VIP
- 航空机务基础维修执照专业知识考试题库(完整版).docx VIP
文档评论(0)