关于C++中多文件结构的问题

我想问一下类的实现所在的文件为什么不用被包含到主函数所在的文件里面?一个文件被包含到另外一个文件到底意味着什么?什么时候需要被包含?以及文件之间连接又是怎么一回事?求教

文件包含就是把被包含文件“机械地”插入到包含指令对应的位置。相当于你打开被包含文件ctrl+a ctrl+c,打开包含文件,删除include那行,并且再按下ctrl+v的效果。
文件连接就是对每个cpp单独编译,然后生成一系列的obj,再由链接器链接成exe或者dll。
文件包含发生在编译以前,文件链接发生在编译以后
之所以包含,是为了避免相同的代码写很多次,C语言要求先申明后使用,所以那些函数、类的原型定义就可以放在头文件里面。