为什么在C++中函数要先声明然后再定义呢?

除了因为怕出错外,还有没有比如这样可以使程序更快捷的原因呢?... 除了因为怕出错外,还有没有比如这样可以使程序更快捷的原因呢? 展开
 我来答
百度网友9f10a96
推荐于2018-02-27 · TA获得超过271个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:172万
展开全部
你也可以不声明,直接定义。但:
1、函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,你是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以了,明了。
2、也许函数并不都是在一个文件里使用,这时候,如果再定义一遍,不仅显得罗嗦,而且使程序的维护变得麻烦,如果修改这个函数的话,需要修改每个定义。
所以可以把函数声明放在一个头文件中,使用的时候,包含这个头文件就可以了。
3、有时候,自己写的函数需要给别人用,比如商业用途。这样的话,不能将整个函数的实现都给对方,这就需要生成一个库文件,而将函数声明放在头文件中来给对方使用。
4、有时候需要用函数声明来重新声明函数,即使前面已经声明过。这样做可以设置新的默认参数,也可以是为了屏蔽作用域外同名的函数声明。
匿名用户
2008-02-23
展开全部
这是最好的习惯,为什么?因为这样就是让编译器知道你下面有什么函数“出场”,如果你不先声明,一般不会产生错误,但有可能在一个函数调用另一个时,由于先后出现顺序不同引起出错,其实“编写上”并没错。

还有就是在大型联合编程时,一般都将子函数群放在main程序后面方便阅读。这样前边要加上这些函数的声明。

声明不声明执行速度上没变化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2008-02-21 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:4882万
展开全部
这是编译器的要求。

函数定义有两种方法。一种是写在主函数 main() 前面,声明和定义一起写。另一种是在主函数前面写“原型”,在主函数之后 或 在分开的 .cpp 文件里写定义。

小程序一般用前者。大程序一般用后者。库函数也用后者(库函数的原型声明放在头文件里)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斜塘拂柳
2008-02-21 · TA获得超过287个赞
知道答主
回答量:68
采纳率:0%
帮助的人:29.8万
展开全部
看不懂这个问题啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ff4aba5
推荐于2016-11-18 · TA获得超过4.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:93%
帮助的人:3362万
展开全部
1、函数的作用域只是从定义的地方开始的。也就是说,在函数定义行之上,是无法使用该函数的。而把函数的定义都放在主函数之前的话,程序会变得不清楚。所以在使用前只需用一行声明一下就可以了。
2、也许函数并不都是在一个文件里使用,这时候,如果再定义一遍,不仅显得罗嗦,而且使程序的维护变得麻烦,如果修改这个函数的话,需要修改每个定义。
所以可以把函数声明放在一个头文件中,使用的时候,包含这个头文件就可以了。
3、有时候,自己写的函数需要给别人用,比如商业用途。这样的话,不能将整个函数的实现都给对方,这就需要生成一个库文件,而将函数声明放在头文件中来给对方使用。
4、有时候需要用函数声明来重新声明函数,即使前面已经声明过。这样做可以设置新的默认参数,也可以是为了屏蔽作用域外同名的函数声明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式