为什么C++需要头文件(.h)和实现文件(.cpp)?
大家好!我刚开始学习C++,实在不明白为什么要把代码分成header文件和.cpp文件。在Java或Python中,我只需把所有代码写在一个文件里,一切就能正常运行。但这里却充斥着#include、#pragma once以及其他指令,简直一团糟。
例如,我写了一个简单的程序:
```cpp
// main.cpp
#include
void sayHello() {
std::cout << "Hello!" << std::endl;
}
int main() {
sayHello();
return 0;
}
```
这也能运行。为什么我还要创建单独的sayHello.h和sayHello.cpp?明明可以把所有代码写在一个文件里。我听说这是为了组织代码和避免链接错误,但我不明白具体是怎么做到的。
尤其让我害怕的是,我看到在.h文件中写函数声明(原型),而在.cpp中写实现。如果我忘了添加某些内容,编译器就会报错。为什么不能把所有内容放在一个地方?请用例子解释一下这种分离的必要性,以及如何正确使用。