एचएच फाइल क्या है?
.hh एक्सटेंशन वाली फाइल एक C++ हेडर फाइल होती है जिसमें वेरिएबल्स, कॉन्स्टेंट्स और फंक्शन्स की घोषणा शामिल होती है। इन घोषणाओं का उपयोग संबंधित C++ कार्यान्वयन फ़ाइलों द्वारा किया जाता है, आमतौर पर .cpp फ़ाइलों के रूप में सहेजा जाता है जिसमें उपयोगकर्ता तर्क का वास्तविक कार्यान्वयन होता है। .hh हेडर फ़ाइलों को कार्यान्वयन CPP फ़ाइलों में #include
निर्देश का उपयोग करके संदर्भित किया जाता है। प्रोजेक्ट स्तर की घोषणाओं को शामिल करने के लिए आप अपने सी ++ प्रोजेक्ट में जितनी संभव हो उतनी हेडर फाइलें जोड़ सकते हैं।
.HH फ़ाइल स्वरूप
एक .hh फ़ाइल एक सादा पाठ फ़ाइल है जिसे हेडर फ़ाइल परिभाषा नियमों को ध्यान में रखते हुए बनाया गया है। .hh फ़ाइल में घोषित अधिकांश सामान्य जानकारी में निम्नलिखित शामिल हैं।
Variables
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) के मामले में, एक क्लास हेडर फ़ाइल में सभी क्लास लेवल वेरिएबल्स की परिभाषाएँ होती हैं जो कार्यान्वयन स्रोत कोड फ़ाइलों में पहुँच योग्य होती हैं
मेथड्स डिक्लेरेशन
- सभी मेथड्स डिक्लेरेशन को .h हेडर फाइल्स में शामिल किया जाता है ताकि मल्टीपल इम्प्लीमेंटेशन फाइल्स में एक्सेस किया जा सके।
गैर-इनलाइन फ़ंक्शन परिभाषाएं
- हेडर फ़ाइलों में गैर-इनलाइन विधियों की परिभाषाएं भी हो सकती हैं।
संदेश मैप्स
- एमएफसी स्रोत कोड कार्यान्वयन के मामले में हेडर फ़ाइल में संदेश मानचित्र भी हो सकते हैं। ऐसे मामले में, संदेश मानचित्र कार्यक्षमता कार्यान्वयन से जुड़े होते हैं जो यूआई तत्वों जैसे बटन, चेकबॉक्स, रेडियो बटन इत्यादि से जुड़े होते हैं।
एच और एचएच फाइलों के बीच अंतर
जाहिर है, संबंधित भाषाओं के लिए इनका उपयोग करने के अनुशंसित तरीके के अलावा .h और .hh हेडर फ़ाइलों के बीच ऐसा कोई अंतर नहीं है, जैसे कि C या C++। इन भाषाओं के अनुसार अपनी शीर्षलेख फ़ाइलों को नाम देने से आपको बड़ी परियोजना में इनके बीच अंतर करने में मदद मिलती है जो सी और सी ++ कार्यान्वयन का मिश्रण हो सकता है।
इसके अतिरिक्त, यदि शीर्षलेख एक्सटेंशन द्वारा अलग किए जाते हैं, तो आपका संपादक क्रमशः उपयुक्त स्वरूपण स्वचालित रूप से लागू कर सकता है।
कुल मिलाकर, इन दो फ़ाइल स्वरूपों के विभेदीकरण से कोई नुकसान नहीं होगा, लेकिन यह लाभप्रद होगा, और C और C++ भेद के लिए अनुसरण करने के लिए प्रोत्साहित किया जाता है।
हैडर गार्ड
शीर्षलेख फ़ाइलें जटिल त्रुटियों को बढ़ा सकती हैं जहां अन्य शीर्षलेख फ़ाइलों को जोड़ने के परिणामस्वरूप एक ही फ़ाइल में एकाधिक घोषणाएं शामिल की जाती हैं। यह डुप्लिकेट परिभाषाएँ कंपाइलर त्रुटियों को बढ़ाती हैं। हेडर गार्ड नामक एक तंत्र के माध्यम से इस समस्याग्रस्त स्थिति से बचा जा सकता है जो नीचे दिखाए गए सशर्त संकलन निर्देश हैं।
#ifndef ANY_UNIQUE_NAME_HERE_HPP
#define ANY_UNIQUE_NAME_HERE_HPP
// your declarations (and certain types of definitions) here
#endif
इस शीर्षलेख के साथ, प्रीप्रोसेसर यह जांचता है कि क्या ANY_UNIQUE_NAME_HERE_HPP
पहले से परिभाषित किया गया है। यदि हेडर को बार-बार एक ही फाइल में शामिल किया जाता है, तो हेडर की सामग्री को नजरअंदाज कर दिया जाएगा।