מהו קובץ HPP?
פורמט הקובץ “.hpp” משמש בדרך כלל עבור קובצי כותרת בשפת תכנות C++. קובצי כותרות מכילים בדרך כלל הצהרות והגדרות של פונקציות, מחלקות, משתנים וקבועים המשמשים קבצי קוד מקור אחרים בפרויקט C++.
מטרת השימוש בקובצי כותרת היא לספק דרך לשתף קוד משותף על פני מספר קובצי קוד מקור מבלי לשכפל את הקוד עצמו. כאשר קובץ המקור C++ צריך לגשת להצהרות או הגדרות מקובץ הכותרת, הוא כולל את קובץ הכותרת באמצעות הוראת קדם-מעבד #include
.
סיומת הקובץ “.hpp” משמשת לעתים קרובות כדי לציין שקובץ הוא קובץ כותרת C++. אין צורך להשתמש בתוסף הספציפי הזה עבור קובצי כותרות, וייתכן שתתקל גם בקבצי כותרות עם “.h” או סיומות אחרות. בחירת ההרחבה היא במידה רבה עניין של מוסכמה והעדפה אישית.
כאשר קובץ מקור C++ כולל קובץ כותרת באמצעות ‘#include’, המהדר משלב למעשה את התוכן של קובץ הכותרת עם קובץ המקור לפני הידור שלו כיחידה. זה מאפשר לקובץ המקור לגשת להצהרות ולהגדרות בקובץ הכותרת, ולספק את המידע הדרוש לקומפיילר לביצוע בדיקת סוגים ויצירת קוד.
מה מכיל קובץ HPP?
להלן כמה תכנים נפוצים שאתה עשוי למצוא בקובץ “.hpp”:
- הצהרות פונקציות: קובצי כותרות כוללים לעתים קרובות הצהרות פונקציות ללא יישומים בפועל. הצהרות אלו מספקות מידע על שם הפונקציה, סוג ההחזרה והפרמטרים, ומאפשרות לקובצי קוד מקור אחרים להשתמש בפונקציה ללא צורך לדעת פרטי יישום.
- הצהרות מחלקה: קובצי כותרות יכולים להכיל הצהרות מחלקות, כולל שם מחלקה, משתני חבר, פונקציות חבר ומפרטי גישה. על ידי הכללת הצהרת מחלקה בקובץ הכותרת, קובצי קוד מקור אחרים יכולים ליצור אובייקטים של אותה מחלקה ולגשת לחברים שלה.
- הצהרות קבועות: קובצי כותרות יכולים להגדיר קבועים, כגון משתנים גלובליים או ערכי enum שאמורים להיות משותפים על פני מספר קובצי קוד מקור. ניתן לגשת לקבועים אלו על ידי הכללת קובץ כותרת בקובצי מקור אחרים, מה שמאפשר להם להשתמש בקבועים המוגדרים.
- הגדרות סוג: קובצי כותרות עשויים להכיל הגדרות סוגים באמצעות מילת מפתח מסוג “typedef” או כינויים של סוג באמצעות מילת מפתח “משתמשת”. הגדרות אלו יוצרות שמות חדשים לסוגים קיימים, מה שהופך את הקוד לקריא וניתן יותר לתחזוקה.
- הגדרות פונקציות מוטבעות: במקרים מסוימים, קבצי כותרות עשויים להכיל הגדרות פונקציות מוטבעות. פונקציות מוטבעות הן פונקציות קטנות שמורחבות באתר השיחה במקום להיקרא כפונקציה נפרדת. הכללת הגדרת פונקציה מוטבעת בקובץ הכותרת מאפשרת למהדר להחליף את קריאת הפונקציה בגוף הפונקציה באופן ישיר, מה שעשוי לשפר את הביצועים.
דוגמה לקובץ 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’. אלה עשויים לכלול כותרות סטנדרטיות של ספרייה או כותרות מותאמות אישית אחרות הנדרשות על ידי הקוד שלך.
- הצהרות והגדרות: התוכן העיקרי של קובץ “.hpp” הוא ההצהרות, ובמקרים מסוימים, הגדרות של מחלקות, פונקציות, קבועים, כינויי טיפוס ואלמנטים אחרים. לדוגמה, אתה יכול להכריז על מחלקות באמצעות מילת המפתח ‘class’, פונקציות באמצעות סוג ההחזר, השם ורשימת הפרמטרים שלהן, וקבועים באמצעות מילת המפתח ‘const’ ואחריה הסוג והשם שלהן.
- הגדרות פונקציות מוטבעות: במקרים מסוימים, תוכל לכלול הגדרות פונקציות מוטבעות ישירות בקובץ “.hpp”. פונקציות מוטבעות מוגדרות בדרך כלל בתוך גוף המחלקה, כלומר הגדרת הפונקציה כלולה לצד ההצהרה שלה. ניתן לעשות זאת על ידי הקדמת הגדרת הפונקציה עם מילת המפתח ‘מוטבעת’.
- הצהרות מרחב שמות: אם אתה משתמש במרחבי שמות בקוד שלך, תוכל להכריז עליהם בקובץ “.hpp”. זה נעשה באמצעות מילת המפתח ‘מרחב שמות’ ואחריה שם מרחב שמות וסגור את הקוד הרלוונטי בתוך בלוק מרחב השמות.
הפניות
See Also
- קובץ BIB - BibTeX ביבליוגרפיה - מהו קובץ .bib ואיך פותחים אותו?
- קובץ FS - קובץ מקור Visual F# - מהו קובץ .fs ואיך פותחים אותו?
- קובץ GED - GEDCOM Genealogy Data File - מהו קובץ .ged ואיך פותחים אותו?
- קובץ INO - Arduino Sketch - מהו קובץ .ino ואיך פותחים אותו?
- קובץ MAX - קובץ 3ds Max Scene - מהו קובץ .max ואיך פותחים אותו?