Що Ñаке Ñайл HPP?
ФоÑÐ¼Ð°Ñ ÑÐ°Ð¹Ð»Ñ “.hpp” зазвиÑай викоÑиÑÑовÑÑÑÑÑÑ Ð´Ð»Ñ ÑайлÑв заголовкÑв Ñ Ð¼Ð¾Ð²Ñ Ð¿ÑогÑамÑÐ²Ð°Ð½Ð½Ñ C++. Файли заголовкÑв зазвиÑай мÑÑÑÑÑÑ Ð¾Ð³Ð¾Ð»Ð¾ÑÐµÐ½Ð½Ñ Ñа визнаÑÐµÐ½Ð½Ñ ÑÑнкÑÑй, клаÑÑв, змÑÐ½Ð½Ð¸Ñ Ñ ÐºÐ¾Ð½ÑÑанÑ, ÑÐºÑ Ð²Ð¸ÐºÐ¾ÑиÑÑовÑÑÑÑÑÑ ÑнÑими Ñайлами Ð²Ð¸Ñ Ñдного ÐºÐ¾Ð´Ñ Ð² пÑоекÑÑ C++.
ÐеÑа викоÑиÑÑÐ°Ð½Ð½Ñ ÑайлÑв заголовкÑв полÑÐ³Ð°Ñ Ð² ÑомÑ, Ñоб забезпеÑиÑи ÑпоÑÑб ÑпÑлÑного викоÑиÑÑÐ°Ð½Ð½Ñ ÑпÑлÑного ÐºÐ¾Ð´Ñ Ð² кÑлÑкоÑ
ÑайлаÑ
виÑ
Ñдного ÐºÐ¾Ð´Ñ Ð±ÐµÐ· дÑблÑÐ²Ð°Ð½Ð½Ñ Ñамого кодÑ. Ðоли виÑ
Ñдний Ñайл C++ поÑÑебÑÑ Ð´Ð¾ÑÑÑÐ¿Ñ Ð´Ð¾ деклаÑаÑÑй або визнаÑÐµÐ½Ñ Ñз ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, вÑн вклÑÑÐ°Ñ Ñайл заголовка за Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ Ð´Ð¸ÑекÑиви пÑепÑоÑеÑоÑа #include.
РозÑиÑÐµÐ½Ð½Ñ ÑÐ°Ð¹Ð»Ñ “.hpp” ÑаÑÑо викоÑиÑÑовÑÑÑÑÑÑ, Ñоб вказаÑи, Ñо Ñайл Ñ Ñайлом заголовка C++. ÐикоÑиÑÑовÑваÑи Ñе конкÑеÑне ÑозÑиÑÐµÐ½Ð½Ñ Ð´Ð»Ñ ÑайлÑв заголовкÑв не обовâÑзково, Ñ Ð²Ð¸ Ñакож можеÑе наÑÑапиÑи на Ñайли заголовкÑв Ñз “.h” або ÑнÑими ÑозÑиÑеннÑми. ÐибÑÑ ÑозÑиÑÐµÐ½Ð½Ñ Ð·Ð½Ð°ÑÐ½Ð¾Ñ Ð¼ÑÑÐ¾Ñ Ð·Ð°Ð»ÐµÐ¶Ð¸ÑÑ Ð²Ñд ÑÑадиÑÑй Ñ Ð¾ÑобиÑÑÐ¸Ñ ÑподобанÑ.
Ðоли виÑ
Ñдний Ñайл C++ вклÑÑÐ°Ñ Ñайл заголовка за Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ #include, компÑлÑÑÐ¾Ñ ÐµÑекÑивно поÑднÑÑ Ð²Ð¼ÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° з виÑ
Ñдним Ñайлом пеÑед Ñим, Ñк компÑлÑваÑи його Ñк одиниÑÑ. Це дозволÑÑ Ð²Ð¸Ñ
ÑÐ´Ð½Ð¾Ð¼Ñ ÑÐ°Ð¹Ð»Ñ Ð¾ÑÑимÑваÑи доÑÑÑп до деклаÑаÑÑй Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ñ Ñ ÑÐ°Ð¹Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°, надаÑÑи компÑлÑÑоÑÑ Ð½ÐµÐ¾Ð±Ñ
ÑÐ´Ð½Ñ ÑнÑоÑмаÑÑÑ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿ÐµÑевÑÑки ÑÐ¸Ð¿Ñ Ñа генеÑаÑÑÑ ÐºÐ¾Ð´Ñ.
Що мÑÑÑиÑÑ Ñайл HPP?
ÐÑÑ Ð´ÐµÑкий загалÑний вмÑÑÑ, Ñкий ви можеÑе знайÑи Ñ ÑÐ°Ð¹Ð»Ñ “.hpp”:
- ÐголоÑÐµÐ½Ð½Ñ ÑÑнкÑÑй: Файли заголовкÑв ÑаÑÑо мÑÑÑÑÑÑ Ð¾Ð³Ð¾Ð»Ð¾ÑÐµÐ½Ð½Ñ ÑÑнкÑÑй без ÑÑ ÑакÑиÑÐ½Ð¾Ñ ÑеалÑзаÑÑÑ. Ð¦Ñ Ð¾Ð³Ð¾Ð»Ð¾ÑÐµÐ½Ð½Ñ Ð½Ð°Ð´Ð°ÑÑÑ ÑнÑоÑмаÑÑÑ Ð¿Ñо Ð½Ð°Ð·Ð²Ñ ÑÑнкÑÑÑ, Ñип повеÑÐ½ÐµÐ½Ð½Ñ Ñа паÑамеÑÑи, Ñо дозволÑÑ ÑнÑим Ñайлам Ð²Ð¸Ñ Ñдного ÐºÐ¾Ð´Ñ Ð²Ð¸ÐºÐ¾ÑиÑÑовÑваÑи ÑÑнкÑÑÑ Ð±ÐµÐ· Ð½ÐµÐ¾Ð±Ñ ÑдноÑÑÑ Ð·Ð½Ð°Ñи деÑÐ°Ð»Ñ ÑеалÑзаÑÑÑ.
- ÐголоÑÐµÐ½Ð½Ñ ÐºÐ»Ð°ÑÑ: Файли заголовкÑв можÑÑÑ Ð¼ÑÑÑиÑи оголоÑÐµÐ½Ð½Ñ ÐºÐ»Ð°ÑÑ, вклÑÑаÑÑи Ð½Ð°Ð·Ð²Ñ ÐºÐ»Ð°ÑÑ, змÑннÑ-Ñлени, ÑÑнкÑÑÑ-Ñлени Ñа ÑпеÑиÑÑкаÑоÑи доÑÑÑпÑ. ÐклÑÑивÑи оголоÑÐµÐ½Ð½Ñ ÐºÐ»Ð°ÑÑ Ñ Ñайл заголовка, ÑнÑÑ Ñайли Ð²Ð¸Ñ Ñдного ÐºÐ¾Ð´Ñ Ð¼Ð¾Ð¶ÑÑÑ ÑÑвоÑÑваÑи обâÑкÑи ÑÑого клаÑÑ Ñа оÑÑимÑваÑи доÑÑÑп до його ÑленÑв.
- ÐголоÑÐµÐ½Ð½Ñ ÐºÐ¾Ð½ÑÑанÑ: Файли заголовкÑв можÑÑÑ Ð²Ð¸Ð·Ð½Ð°ÑаÑи конÑÑанÑи, ÑÐ°ÐºÑ Ñк глобалÑÐ½Ñ Ð·Ð¼ÑÐ½Ð½Ñ Ð°Ð±Ð¾ знаÑÐµÐ½Ð½Ñ enum, ÑÐºÑ Ð¿ÑизнаÑÐµÐ½Ñ Ð´Ð»Ñ ÑпÑлÑного викоÑиÑÑÐ°Ð½Ð½Ñ Ð² кÑлÑÐºÐ¾Ñ ÑÐ°Ð¹Ð»Ð°Ñ Ð²Ð¸Ñ Ñдного кодÑ. ÐоÑÑÑп до ÑÐ¸Ñ ÐºÐ¾Ð½ÑÑÐ°Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° оÑÑимаÑи, вклÑÑивÑи Ñайл заголовка в ÑнÑÑ Ð²Ð¸Ñ ÑÐ´Ð½Ñ Ñайли, дозволÑÑÑи Ñм викоÑиÑÑовÑваÑи визнаÑÐµÐ½Ñ ÐºÐ¾Ð½ÑÑанÑи.
- ÐизнаÑÐµÐ½Ð½Ñ ÑипÑв: Файли заголовкÑв можÑÑÑ Ð¼ÑÑÑиÑи визнаÑÐµÐ½Ð½Ñ ÑипÑв за Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ ÐºÐ»ÑÑового Ñлова “typedef” або пÑевдонÑми ÑипÑв за Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ ÐºÐ»ÑÑового Ñлова “using”. Ð¦Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ ÑÑвоÑÑÑÑÑ Ð½Ð¾Ð²Ñ Ñмена Ð´Ð»Ñ ÑÑнÑÑÑÐ¸Ñ ÑипÑв, ÑоблÑÑи код бÑлÑÑ ÑиÑабелÑним Ñ Ð·ÑÑÑним Ð´Ð»Ñ Ð¾Ð±ÑлÑговÑваннÑ.
- ÐбÑÐ´Ð¾Ð²Ð°Ð½Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ ÑÑнкÑÑй: У деÑÐºÐ¸Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ°Ñ Ñайли заголовкÑв можÑÑÑ Ð¼ÑÑÑиÑи вбÑÐ´Ð¾Ð²Ð°Ð½Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ ÑÑнкÑÑй. ÐбÑÐ´Ð¾Ð²Ð°Ð½Ñ ÑÑнкÑÑÑ â Ñе Ð½ÐµÐ²ÐµÐ»Ð¸ÐºÑ ÑÑнкÑÑÑ, ÑÐºÑ ÑозгоÑÑаÑÑÑÑÑ Ð½Ð° мÑÑÑÑ Ð²Ð¸ÐºÐ»Ð¸ÐºÑ, а не викликаÑÑÑÑÑ Ñк окÑема ÑÑнкÑÑÑ. ÐклÑÑÐµÐ½Ð½Ñ Ð²Ð±Ñдованого визнаÑÐµÐ½Ð½Ñ ÑÑнкÑÑÑ Ñ Ñайл заголовка дозволÑÑ ÐºÐ¾Ð¼Ð¿ÑлÑÑоÑÑ Ð·Ð°Ð¼ÑнÑваÑи виклик ÑÑнкÑÑÑ Ð±ÐµÐ·Ð¿Ð¾ÑеÑеднÑо ÑÑлом ÑÑнкÑÑÑ, поÑенÑÑйно покÑаÑÑÑÑи пÑодÑкÑивнÑÑÑÑ.
ÐÑиклад ÑÐ°Ð¹Ð»Ñ HPP
#ifndef PERSON_HPP
#define PERSON_HPP
#include <string>
class Person {
private:
std::string name;
int age;
public:
Person();
Person(const std::string& name, int age);
void setName(const std::string& newName);
void setAge(int newAge);
std::string getName() const;
int getAge() const;
void printInfo() const;
};
#endif
Який ÑоÑÐ¼Ð°Ñ ÑÐ°Ð¹Ð»Ñ HPP?
HPP â Ñе звиÑайний ÑекÑÑовий Ñайл, Ñкий вÑдповÑÐ´Ð°Ñ Ð·Ð°Ð³Ð°Ð»Ñним пÑавилам Ñ ÑинÑакÑиÑÑ Ð¼Ð¾Ð²Ð¸ пÑогÑамÑÐ²Ð°Ð½Ð½Ñ C++. ÐÑÑ ÑозподÑл загалÑного ÑоÑмаÑÑ Ñа ÑÑÑÑкÑÑÑи ÑÐ°Ð¹Ð»Ñ “.hpp”:
- ÐаÑ
иÑÐ½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸: Як пÑавило, Ñайл “.hpp” поÑинаÑÑÑÑÑ Ð· запобÑжниÑ
заголовкÑв, Ñоб запобÑгÑи багаÑоÑÐ°Ð·Ð¾Ð²Ð¾Ð¼Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð½Ñ Ñого Ñамого ÑайлÑ. Це доÑÑгаÑÑÑÑÑ Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ Ð´Ð¸ÑекÑив пÑепÑоÑеÑоÑа, ÑакиÑ
Ñк
#ifndef,#defineÑ#endif. ÐÐ°Ñ Ð¸ÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° гаÑанÑÑÑ, Ñо вмÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð±Ñде вклÑÑено лиÑе один Ñаз пÑд ÑÐ°Ñ Ð¿ÑоÑеÑÑ ÐºÐ¾Ð¼Ð¿ÑлÑÑÑÑ. - ÐнÑÑÑÑкÑÑÑ Include: ÐÑÑÐ»Ñ Ð·Ð°Ñ
иÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑв ви можеÑе вклÑÑиÑи ÑнÑÑ Ð½ÐµÐ¾Ð±Ñ
ÑÐ´Ð½Ñ Ñайли заголовкÑв за Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ Ð´Ð¸ÑекÑиви
#include. Ðони можÑÑÑ Ð²ÐºÐ»ÑÑаÑи ÑÑандаÑÑÐ½Ñ Ð±ÑблÑоÑеÑÐ½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸ або ÑнÑÑ ÐºÐ¾ÑиÑÑÑваÑÑÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¸, Ð½ÐµÐ¾Ð±Ñ ÑÐ´Ð½Ñ Ð´Ð»Ñ Ð²Ð°Ñого кодÑ. - ÐголоÑÐµÐ½Ð½Ñ Ñа визнаÑеннÑ: ÐÑновним вмÑÑÑом ÑÐ°Ð¹Ð»Ñ “.hpp” Ñ Ð¾Ð³Ð¾Ð»Ð¾ÑÐµÐ½Ð½Ñ Ñа, Ñ Ð´ÐµÑкиÑ
випадкаÑ
, визнаÑÐµÐ½Ð½Ñ ÐºÐ»Ð°ÑÑв, ÑÑнкÑÑй, конÑÑанÑ, пÑевдонÑмÑв ÑипÑв Ñа ÑнÑиÑ
елеменÑÑв. ÐапÑиклад, ви можеÑе оголоÑÑваÑи клаÑи, викоÑиÑÑовÑÑÑи клÑÑове Ñлово
class, ÑÑнкÑÑÑ â викоÑиÑÑовÑÑÑи ÑÑ Ñип повеÑненнÑ, ÑмâÑ Ñа ÑпиÑок паÑамеÑÑÑв, а конÑÑанÑи â викоÑиÑÑовÑÑÑи клÑÑове Ñловоconst, за Ñким ÑлÑдÑÑ ÑÑ Ð½Ñй Ñип Ñ ÑмâÑ. - ÐизнаÑÐµÐ½Ð½Ñ Ð²Ð±ÑдованиÑ
ÑÑнкÑÑй: У деÑкиÑ
випадкаÑ
ви можеÑе вклÑÑиÑи визнаÑÐµÐ½Ð½Ñ Ð²Ð±ÑдованиÑ
ÑÑнкÑÑй безпоÑеÑеднÑо Ñ Ñайл “.hpp”. ÐбÑÐ´Ð¾Ð²Ð°Ð½Ñ ÑÑнкÑÑÑ Ð·Ð°Ð·Ð²Ð¸Ñай визнаÑаÑÑÑÑÑ Ð²ÑеÑÐµÐ´Ð¸Ð½Ñ ÑÑла клаÑÑ, ÑобÑо визнаÑÐµÐ½Ð½Ñ ÑÑнкÑÑÑ Ð²ÐºÐ»ÑÑено Ñазом Ñз ÑÑ Ð¾Ð³Ð¾Ð»Ð¾ÑеннÑм. Це можна зÑобиÑи, додавÑи до визнаÑÐµÐ½Ð½Ñ ÑÑнкÑÑÑ ÐºÐ»ÑÑове Ñлово
inline. - ÐголоÑÐµÐ½Ð½Ñ Ð¿ÑоÑÑоÑÑ Ñмен: ЯкÑо ви викоÑиÑÑовÑÑÑе пÑоÑÑоÑи Ñмен Ñ ÑвоÑÐ¼Ñ ÐºÐ¾Ð´Ñ, ви можеÑе оголоÑиÑи ÑÑ
Ñ ÑÐ°Ð¹Ð»Ñ “.hpp”. Це ÑобиÑÑÑÑ Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¾Ñ ÐºÐ»ÑÑового Ñлова
пÑоÑÑÑÑ Ñмен, за Ñким Ñде ÑмâÑ Ð¿ÑоÑÑоÑÑ Ñмен Ñ Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð½Ñ Ð²ÑдповÑдного ÐºÐ¾Ð´Ñ Ð² блок пÑоÑÑоÑÑ Ñмен.
СпиÑок лÑÑеÑаÑÑÑи
See Also
- SMC File - Super Nintendo Game ROM - Що Ñаке Ñайл .smc Ñ Ñк його вÑдкÑиÑи?
- Файл BIB - ÐÑблÑогÑаÑÑÑ BibTeX - Що Ñаке Ñайл .bib Ñ Ñк його вÑдкÑиÑи?
- Файл FS - ÐÐ¸Ñ Ñдний Ñайл Visual F# - Що Ñаке Ñайл .fs Ñ Ñк його вÑдкÑиÑи?
- Файл GED - Файл генеалогÑÑÐ½Ð¸Ñ Ð´Ð°Ð½Ð¸Ñ GEDCOM - Що Ñаке Ñайл .ged Ñ Ñк його вÑдкÑиÑи?
- Файл INO - Arduino Sketch - Що Ñаке Ñайл .ino Ñ Ñк його вÑдкÑиÑи?