c++ primer plus 函数声明写在头文件里,函数定义写在源文件里,请问这是什么意思呢?

假如我有一个头文件myhead.h,我的函数fun()的声明部分在myhead.h中。现在我有100个源文件mycpp00.cpp~mycpp99.cpp,它们都要用到fun()。难道每个源文件里都要把函数定义再写一遍?这是我很好奇的地方。我用<cmath><algorithm>这些头文件时,也并不需要我在源文件中写sqrt() sort()这些函数的定义啊?
每个cpp都要自己实现add(),这样很不方便吧?

第1个回答  2019-07-05
1.将源码分别实现为头文件,源文件,目的就是为了提高代码的复用性。在头文件中声明函数原型,源文件中实现函数的细节。当其他文件需要调用该函数的时候,只需要包含头(#include)文件就可以调用了。不需要重新实现源文件。
2.sqrt()sort()也都是这样实现的
第2个回答  2019-06-15
当然不需要,只要在某个cpp里定义一次即可
定义超过一次是无法通过编译的。追问

您好,问题已补充:

我想知道,每个.cpp都要自己实现一次add()函数,这样不是很不方便吗?

本回答被提问者和网友采纳
相似回答