编译器阅读代码的行为跟人是一样的,所以写代码的时候,必须注意顺序。比如你引用了f()函数,那么在使用它之前,即在main()中发出调用f()的指令之前,就必须要有一个指引信息,指出f()函数是存在的。你
可以把f()的定义代码写在任何地方(在main()后面,甚至在别的.cpp文件中),此时需要函数声明(这是C++推荐的方式),也可以像旧式C那样,不声明,直接把f()的定义代码写在前面。对前者,是按照程序运行的逻辑排列,main()代码在前,f()代码在后;对后者,是从基础构件开始铺垫,把一切需要用到的东西按次序写下来,最高调用在后,与实际执行逻辑相反。
如果你弄明白了这个原理,就知道所谓的#include .h文件是怎么回事,就是干预先声明勾当的,但它仅仅是某些常数声明和函数声明,真实的函数代码是没有的。很多人以为#include了graphics.h就有了相应的函数库,就是不知道这个原理——真正的graphics函数实现在graphics.lib中!
[
本帖最后由 TonyDeng 于 2012-6-17 20:05 编辑 ]