一级棒(Eachfun)
一级棒 - 读书笔记 - C++ Primer - 函数的声明与实体
RSS订阅
函数的声明与实体
发表时间:2006-08-02 23:15:36 关键词:C++,MFC,VC,Primer,编程,教程,读书

  注:本书中提到了“声明”与“定义”两个词。我倒是认为将后者改为“实体”更好。
  函数的实体就是实实在在的函数内容,它规定了这个函数怎样执行,这没有什么好说的。那么函数为什么还要有声明呢?
  这样做的目的之一是告诉编译器:虽然你还没有见到函数本身,不知道函数是怎样执行的,但是我先告诉你这个函数的名称、参数与返回值,你就先编译吧。至于这个函数究竟干什么,等到连接的时候再说。
  设计合理的程序,其代码存放在不同的文件中,函数的实体只能有一个,存放在某一个源文件中。其它源文件中如果要用到这个函数,就在这个文件中加入函数的声明。
  这样做的目的之二是函数的提供者与使用者往往不是同一个人,甚至不是同一个企业。出于种种目的,函数的提供者可能并不想(或不必)让使用者知道这个函数的具体内容,只要使用者能调用就行。这种情况下,函数的提供者只需要提供一个声明给使用者即可。——C语言的库函数就是这样的。
  然而“在需要用到函数的文件中加入函数的声明”也有好办法与笨办法。将声明语句重写一遍自然不难,但是这样做有两个明显的缺点:一是烦琐易错、二是不易修改。所以,函数的声明应该放在头文件中,哪儿要,就在哪儿包含。这就好像我家没有摆许多盆鲜花而是摆了许多面镜子。我在哪儿都能看到鲜花,浇水却只要浇一盆。
  这个理论也适用于C++的“类”,类的声明写进头文件,而实体却写进程序文件。不同的是,类的声明不像函数的声明那样只有一句话,而是一个完整的结构。

本站特约顾问律师常州东晟律师事务所朱立律师(电话13915029670,QQ646146109)提醒您:
本站文章皆为作者原创,其它媒体(包括但不限于报刊、杂志、网站、电视、电台)未经作者书面许可严禁转载(或部分摘录)!
发表评论
称呼:
QQ:
邮箱:
链接:
内容:
搜索: 百度搜索 Google搜索
Copyright©2000 - 2008 Eachfun.Com, All Rights Reserved 一级棒网络
苏ICP备05080156号
一级棒建站系统 http://www.eachfun.com 一级棒版权所有,未经许可不得商用!