לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #3  
ישן 08-10-2008, 15:40
צלמית המשתמש של maind
  maind maind אינו מחובר  
 
חבר מתאריך: 08.10.02
הודעות: 827
בתגובה להודעה מספר 1 שנכתבה על ידי fraps0 שמתחילה ב "מזה משנה אם עושים כותבים את תוכן הפונקציה ב-header או בקובץ CPP?"

מפרידים את יישום הפונקציה לקובץ
source (.cpp, .c, ...)
ואת הגדרת הפונקציה לקובץ
header (.hpp, .h)

נגיד והפרוקיט שלך מורכב מכמה קבצים, הקומפילר יכול לקמפל כל חלק בנפרד ונגיד בקובץ אחד יש לך
add.c:
קוד:
int add(int a, int b) { return a + b; }


עכשיו אתה משתמש בפונקציה בקובץ אחר אז אתה מצהיר שיש כזאת פונקציה ואז משתמש בה
main.c:
קוד:
int add(int, int); int main() { printf("%d", add(2, 3)); }



עכשיו נגיד ושנית את הפונקציה בקובץ הראשון
add.c:
קוד:
int add(int a, int b, int c) { return i + b + c; }


הקובץ השני עדיין יתקמפל כי הצהרת על הפונקציה add
ותיווצר לך שגיאה כתקרא לפונקציה.

אתה יכול לתקן את הבעיה על ידי תיקון כל ההצהרות הישנות של הפונקציה להצהרה החדשה
main.c:
קוד:
int add(int, int, int); int main() { printf("%d", add(2, 3, 6)); }


עכשיו לך תמצא את כל המקומות בהם השתמשת והצהרת על הפונקציה ....
לשים את הגדרת הפונקציה ב header פותר לך את הבעיה הזאת כי הפונקציה מוצהרת במקום אחד בכל הפרויקט, לא משנה כמה גדול הוא.

ועוד משהו שאסור בשפה לרשום שתי מימושים לפונקציה באותו פרויקט, למשל אסור משהו כזה
main.c:
קוד:
int add(int a, int b) { a + b; } int add(int a, int b) { a + b; } int main() { printf("%d", add(2, 3)); }



אך מותר לחזור על הצהרות שהם אותו דבר לדוגמא
main.c:
קוד:
int add(int a, int b) { a + b; } int add(int, int); int add(int, int); int main() { printf("%d", add(2, 3)); }


מה שאומר שאתה לא יכול לצרף את המימוש כמה פעמים (מה שיכול לקרות בלי שתכננת) כי זה יצא שממשת כמה פעמים אך את קובץ ההצהרות אתה יכול לצרף כמה פעמים.
_____________________________________
Error: Keyboard not found
Press F1 to continue


נערך לאחרונה ע"י maind בתאריך 08-10-2008 בשעה 15:44.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 12:57

הדף נוצר ב 0.04 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר