Avatar ·

C++ में हेडर फाइलों (.h) और इम्प्लीमेंटेशन फाइलों (.cpp) की क्या आवश्यकता है?

सभी को नमस्ते! मैंने अभी-अभी C++ सीखना शुरू किया है और मुझे समझ नहीं आ रहा है कि header फाइलों और .cpp फाइलों में यह विभाजन क्यों है। Java या Python में मैं बस पूरा कोड एक फाइल में लिखता था, और सब कुछ काम करता था। लेकिन यहाँ #include, #pragma once और अन्य directives के साथ कुछ अजीब स्थिति है।\n\nउदाहरण के लिए, मैं एक सरल प्रोग्राम लिखता हूँ:\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\nऔर यह काम करता है। मुझे अलग sayHello.h और sayHello.cpp क्यों बनाना चाहिए? आखिरकार, मैं सब कुछ एक ही फाइल में लिख सकता हूँ। मैंने सुना है कि यह कोड को व्यवस्थित करने और linking errors से बचने के लिए आवश्यक है, लेकिन मुझे समझ नहीं आता कि वास्तव में कैसे।\n\nखासकर जब मैं देखता हूँ कि .h फाइल में फंक्शन declarations (prototypes) लिखे जाते हैं, और .cpp में —