Какво е HH файл?
Файл с разширение .hh е C++ заглавен файл, който включва декларацията на променливи, константи и функции. Тези декларации се използват от съответните файлове за изпълнение на C++, обикновено записани като .cpp файлове, които съдържат действителното изпълнение на потребителската логика. Заглавните файлове .hh се споменават в CPP файловете за внедряване с помощта на директивата #include
. Можете да добавите възможно най-много заглавни файлове към вашия C++ проект, за да включите декларации на ниво проект.
.HH файлов формат
Файлът .hh е обикновен текстов файл, който се създава, като се имат предвид правилата за дефиниране на заглавния файл. Най-често срещаната информация, декларирана в .hh файл, включва следното.
Променливи
- В случай на обектно ориентирано програмиране (ООП), заглавен файл на клас съдържа дефиниции на всички променливи на ниво клас, които са достъпни във файловете с изходен код на изпълнение
Декларация на методи
- Всички декларации на методи са включени в .h заглавните файлове, за да бъдат достъпни в множество файлове за изпълнение.
Дефиниции на невградени функции
- Заглавните файлове могат също да съдържат дефиниции на невградени методи.
Карти на съобщенията
- Заглавният файл може също да съдържа карти на съобщенията в случай на внедряване на изходен код на MFC. В такъв случай картите на съобщенията са свързани с изпълнението на функционалността, което е свързано с елементи на потребителския интерфейс като бутон, квадратче за отметка, радио бутони и др.
Разлика между .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
вече е дефинирано. Ако заглавката се включва многократно в един и същи файл, съдържанието на заглавката ще бъде игнорирано.