עבור לתוכן

אתחול משתנה במחלקה ב-CPP

Featured Replies

פורסם

שלום.

לצערי שכחתי את הכללים של C++ ויש לי בעיה קטנה.

נניח שקיים הקוד הבא:


class List
{
   int data;
   List *next;

   List(d) : data(d), next(NULL) {}
}

כלומר מחלקה בשם List בעלת קונסטרקטור שמקבל פרמטר אחד.

כעת אני בונה מחלקה חדשה:


class A
{
   List MyList;
   ...
}

ואני רוצה לאתחל את MyList בקונסטרקטור של A, עם הפרמטר 1 (כלומר MyList יהיה אובייקט שיאותחל עם הקונסטרקטור של List עם פרמטר 1).

איך אני כותב את הקונסטרקטור של A במקרה הזה?

תודה מראש, מקווה שהובנתי.

פורסם

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

MyList.data=הפרמטר ששלחת

אבל הכל בערבון מוגבל לא הבנתי חצי ממה שכתוב

פורסם

RTPC

אין קוסטרקטורים בC, אלא רק בC++... ולא זה לא אותו דבר...

צביקה:

ניסית אולי להפעיל בinitline את הקוסטרקטור של list?

פורסם
  • מחבר

זהו, בהתחלה לא הייתי בטוח איך בדיוק לעשות את זה. לסוף הסתבר לי שפשוט רושמים את הקונסטרקטור של A ככה:

A() : MyList(1) {}

זה הכל. זה מה שהייתי צריך בעצם.

תודה בכל אופן.

פורסם

List(d){} : data(d), next(NULL)

ארכיון

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

דיונים חדשים