為什么在C++中函數要先聲明然后再定義呢?
2 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
你也可以不聲明,直接定義。但:
1、函數的作用域只是從定義的地方開始的。也就是說,在函數定義行之上,你是無法使用該函數的。而把函數的定義都放在主函數之前的話,程序會變得不清楚。所以在使用前只需用一行聲明一下就可以了,明了。
2、也許函數并不都是在一個文件里使用,這時候,如果再定義一遍,不僅顯得羅嗦,而且使程序的維護變得麻煩,如果修改這個函數的話,需要修改每個定義。
所以可以把函數聲明放在一個頭文件中,使用的時候,包含這個頭文件就可以了。
3、有時候,自己寫的函數需要給別人用,比如商業用途。這樣的話,不能將整個函數的實現都給對方,這就需要生成一個庫文件,而將函數聲明放在頭文件中來給對方使用。
4、有時候需要用函數聲明來重新聲明函數,即使前面已經聲明過。這樣做可以設置新的默認參數,也可以是為了屏蔽作用域外同名的函數聲明。
- 2 回答
- 0 關注
- 1492 瀏覽
添加回答
舉報
0/150
提交
取消