为什么C ++具有头文件和.cpp文件?