首先,我理解了为何要把声明和定义放在不同的文件中;

现在把声明放在头文件abc.h中,把定义放在abc.cpp中,那么cpp中要include "abc.h";

我想问的是,头文件中只包含原型不包含定义,而我的另一个程序需要用到头文件中声明的函数而include了这个头文件,

可是函数定义的源文件为什么也要#include头文件呢?