练习6.9
fact函数的定义位于一个名为fact.cc的文件中,它的声明位于名为Chapter6.h的头文件中。另外,我们在名为factMain.cc的文件中创建main函数,main函数将调用fact函数。要生成可执行文件,必须告诉编译器我们用到的代码在哪里。
fact.cpp
//函数的定义
#include "Chapter6.h"
int fact(int val)
{
int rec = 1;
while (val > 1) {
rec *= val--;
}
return rec;
}
double absolute(double val)
{
double rec = 1;
if (val >= 0)
rec = val;
else
rec = -val;
return rec;
}
factMain.cpp
#include "Chapter6.h"
int main() {
int i = 0;
cin >> i;
cout << fact(i) << endl;
cout << absolute(i) << endl;
}
可以成功调用函数!
解释:
factMain.cpp文件中创建main函数,main函数将调用fact函数。
为了生成可执行文件,把2个源文件(fact.cpp和factMain.cpp)编译成后缀为.o(UNIX)的文件。
接下来编译器把这2个对象文件链接在一起形成可执行文件。
p.s 在源文件中声明函数,就可以正常编译为.o。链接的时候才会去绑定函数的定义。