עבור לתוכן

C++ עבודה עם headers

Featured Replies

פורסם

יש לי שאלה כללית,ב-headers אני רק מצהיר או שאני גם מכליל את התוכן של פונקציות (לדוגמא).אם אני רק מצהיר(בקובץ xxx.h) אז את התוכן של הפונקציות אני עושה בקובץ xxx.cpp נוסף ובו נמצא התוכן של הפונקצייה(בנוסף לקובץ הכולל את פונקציית הmain)

תודה רבה על המענה אשמח להסבר או להפניה למאמר\מדריך\קטע המסביר על זה

שוב תודה רבה :xyxthumbs:

פורסם

ההפרדה נעשית על מנת להפריד ממשק ממימוש.

כשאתה כותב מחלקות למשל, אתה מציין בקובץ ה-h את כל ההכרזות - על פונקציות, typedef (לפעמים), includes וכולי.

אם למשל מישהו רוצה להשתמש בקוד שכתבת, הוא לא בהכרח מעוניין לקרוא את המימוש או לנסות להבין אותו. לפעמים אתה בעצמך לא רוצה

לחשוף אותו.

אז אותו בן אדם יכול לדעת אילו פונקציות קיימות (אילו ערכים מקבלת, מה מחזירה ותיאור כתיעוד) ובכלל מה תפקידה של המחלקה.

אתה יכול למצוא ברשת המון דוגמאות לחלוקה של קוד. בעיקרון, בקובץ ה-h אין שום מימוש של פונקציה (כלומר סוגריים מסולסלות. רק ; בסוף החתימה).

אם יש לך למשל בנאי דיפולטיבי, אתה יכול לפתוח ולסגור סוגריים מסולסלים.

פורסם
  • מחבר

אוקיי תודה, הבנתי את החלק העיקרי חוץ מהקטע של הבנאי הדיפולטיבי.

אני בטוח שאני אתקל בבנאי הזה בעתיד הקרוב אבל אשמח אם תסביר לי עליו.

שוב תודה :)

פורסם
  • מחבר

כן פחות או יותר עד החלק של ההורשה.

פורסם

אז אם יש לך בנאי שלא עושה שום דבר מיוחד, שנראה ככה:

MyClass(){}

אז אין באמת צורך להכריז עליו ככה בקובץ h:

MyClass();

ואז "לממש" אותו בקובץ cpp:

MyClass::MyClass(){}

פורסם
  • מחבר

אה חחח,קראתי את המילה דיפולטיבי בצורה שונה ולא הבנתי מה המילה אומרת :kopfpatsch: חח

כן אני יודע בנאי ברירת מחדל :P

שוב תודה רבה :D

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים