Wozu braucht man Header-Dateien (.h) und Implementierungsdateien (.cpp) in C++?
Hallo zusammen! Ich habe gerade angefangen, C++ zu lernen und kann nicht verstehen, wozu diese Trennung in Header-Dateien und .cpp-Dateien gut ist. In Java oder Python habe ich einfach den gesamten Code in eine Datei geschrieben, und alles hat funktioniert. Aber hier ist das ein Chaos mit #include, #pragma once und anderen Direktiven.\n\nZum Beispiel schreibe ich ein einfaches Programm:\n\n```cpp\n// main.cpp\n#include \n\nvoid sayHello() {\n std::cout << "Hello!" << std::endl;\n}\n\nint main() {\n sayHello();\n return 0;\n}\n```\n\nUnd das funktioniert. Warum sollte ich separate sayHello.h und sayHello.cpp erstellen? Man kann doch alles in eine Datei schreiben. Ich habe gehört, dass dies für die Code-Organisation und zur Vermeidung von Linker-Fehlern nötig ist, aber ich verstehe nicht genau, wie.\n\nBesonders verwirrt mich, wenn ich sehe, dass in der .h-Datei Funktionsdeklarationen (Prototypen) geschrieben werden und in der .cpp-Datei die Implementierung.