একটি HH ফাইল কি?
.hh এক্সটেনশন সহ একটি ফাইল হল একটি C++ হেডার ফাইল যাতে ভেরিয়েবল, ধ্রুবক এবং ফাংশনের ঘোষণা অন্তর্ভুক্ত থাকে। এই ঘোষণাগুলি সংশ্লিষ্ট C++ বাস্তবায়ন ফাইলগুলি দ্বারা ব্যবহৃত হয়, সাধারণত .cpp ফাইল হিসাবে সংরক্ষিত হয় যাতে ব্যবহারকারীর যুক্তির প্রকৃত প্রয়োগ রয়েছে৷ .hh হেডার ফাইলগুলি বাস্তবায়নের CPP ফাইলগুলিতে #include
নির্দেশিকা ব্যবহার করে উল্লেখ করা হয়। আপনি প্রকল্প স্তরের ঘোষণা অন্তর্ভুক্ত করতে আপনার C++ প্রকল্পে যতটা সম্ভব হেডার ফাইল যোগ করতে পারেন।
.HH ফাইল ফরম্যাট
A .hh ফাইল হল একটি প্লেইন টেক্সট ফাইল যা হেডার ফাইলের সংজ্ঞার নিয়মগুলিকে সামনে রেখে তৈরি করা হয়। একটি .hh ফাইলে ঘোষিত সর্বাধিক সাধারণ তথ্যগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত রয়েছে৷
ভেরিয়েবল
- অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর ক্ষেত্রে, একটি ক্লাস হেডার ফাইলে সমস্ত ক্লাস লেভেল ভেরিয়েবলের সংজ্ঞা থাকে যা বাস্তবায়ন সোর্স কোড ফাইল জুড়ে অ্যাক্সেসযোগ্য।
পদ্ধতি ঘোষণা
- সমস্ত পদ্ধতি ঘোষণা .h হেডার ফাইলে অন্তর্ভুক্ত করা হয়েছে যাতে একাধিক বাস্তবায়ন ফাইল জুড়ে অ্যাক্সেসযোগ্য।
নন-ইনলাইন ফাংশন সংজ্ঞা
- হেডার ফাইলে একটি নন-ইনলাইন পদ্ধতির সংজ্ঞাও থাকতে পারে।
মেসেজ ম্যাপ
- একটি হেডার ফাইলে MFC সোর্স কোড বাস্তবায়নের ক্ষেত্রে বার্তা মানচিত্রও থাকতে পারে। এই ধরনের ক্ষেত্রে, বার্তা মানচিত্রগুলি কার্যকারিতা বাস্তবায়নের সাথে সংযুক্ত থাকে যা UI উপাদান যেমন বোতাম, চেকবক্স, রেডিও বোতাম ইত্যাদির সাথে সংযুক্ত থাকে।
.H এবং .HH ফাইলের মধ্যে পার্থক্য
স্পষ্টতই, .h এবং .hh শিরোনাম ফাইলগুলির মধ্যে এই ধরনের কোন পার্থক্য নেই যা সংশ্লিষ্ট ভাষার জন্য ব্যবহার করার প্রস্তাবিত উপায় ব্যতীত যেমন C বা C++। এই ভাষা অনুসারে আপনার হেডার ফাইলগুলির নামকরণ আপনাকে একটি বড় প্রকল্পে এইগুলির মধ্যে পার্থক্য করতে সাহায্য করে যা 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
ইতিমধ্যেই সংজ্ঞায়িত করা হয়েছে কিনা। শিরোনাম বারবার একই ফাইলে অন্তর্ভুক্ত করা হলে, শিরোনামের বিষয়বস্তু উপেক্ষা করা হবে।