一、函数只能定义一次,但可以声明多次。如果一个函数永远也不会被我们用到,那么它可以只有声明没有定义。
二、函数声明和函数定义之间的区别?
解析:函数声明和函数定义非常的类似,唯一的区别是函数声明无须函数体,用一个分号代替即可。
函数声明三要素:返回类型、函数名、形参类型
三、含有函数声明的头文件应该被包含到定义函数的源文件中。
四、编写一个名为Chapter6.h的头文件,练习一下函数声明。
考察知识点:知识点1:建议变量和函数皆在头文件中声明,在源文件中定义。(使用时须将头文件添加进来)
知识点2:头文件的建立:右侧解决方案—头文件—右击—添加—新建项—头文件(.h)
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int fact(int My_number);
int fun();//头文件中只需包含其声明
五、分离式编译
知识点:
(1)分离式编译,C++允许我们将程序分割到几个文件中去,每个文件独立编译这里可以将函数的定义放到.cc文件中,main()函数放到另一个.cc文件中。
(2)分离式编译允许将程序分割到多个文件中去,每个文件独立编译。如果修改了其中一个源文件,那么只需要单独编译此源文件,但如果修改了头文件,所有文件都要重新编译。例如,将函数的声明放在头文件中,函数的定义放在一个源文件中,另一个源文件用到这个函数时,只需要包含函数声明的头文件而不需要包含函数定义的源文件。
(3)$ CC -c factMain.cc # generates factMain.o
注释:CC是编译器的名字,$是系统提示符,#后面是命令行下的注释语句。大多数编译器提供了分离式编译每个文件的机制,这一过程通常会产生一个后缀名为.obj(WINDOS)或者.o(UNIX)的文件,后缀名的含义是该文件包含对象代码。