משתנים גלובליים

משתנים גלובליים

שלום... אני רוצה להגדיר משתנים גלובליים, זה פרוייקט ב - C++ עם כמה class-ים בקבצים שונים... הבעיה היא שנוצר כאן מין לולאה של הגדרות בקבצי ה - h - כלומר: כדי להגדיר את A אז אני מגדירה את B וכדי להגדיר את B אני מגדירה את A... איך אני בכל זאת מגדירה משהו שלא התנגש עם ההגדרות האלה?
 

KKnDoIt

New member
באופן כללי, זה רעיון גרוע להשתמש

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

KKnDoIt

New member
אופס, אני חושב שלא הבנתי נכון:

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

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

selalerer

New member
כמה דברים:

* תגני על קבצי הheader באמצעות פקודות preprocessor. בהתחלת הקובץ:
#ifndef HEADER_NAME #define HEADER_NAME​
ובסוף הקובץ:
#endif​
כך לא יהיה מצב של הכללות כפולות של קבצים. * בכדי שמחלקה אחת תכיר אחרת, תוכלי להכריז עליה בלבד לפניה הגדרת המחלקה. כך:
class A; class B { //........... };​
 
למעלה