שיחה:Copy constructor

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

הדוגמא על הפנים[עריכת קוד מקור]

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

ולמה אתה חושב ככה? טרול רפאים 19:10, 14 מרץ 2005 (UTC)

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

לדעתי, זה לא עובד, מכיוון שהמשתנה mother הוא מוגדר כמצביע, אולם p מוגדר כלא מצביע, ואז נוצרת שגיאה, מכיוון שמנסים להעביר מצביע כפרמטר שלא אמור להיות מצביע. נסה את זה:

class Person {
 int age;
 string name;
 Person* mother;

 public Person(const Person& p) {
  age=p.age;
  name=p.name;
  if (mother != null) {
   mother=new Person(p->mother);
  }
 }
};

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


אינפרטציה[עריכת קוד מקור]

האם אינפרטציה אמורה להיות אינטרפטציה??? או Pre-compiling? - כי אני לא מכיר את המילה אינפרטציה. אם היא אכן קיימת אנא הסבירו אותה. --Doronyg - שיחה 16:47, 14 במאי 2008 (IDT)תגובה

תתקנו את הדוגמא[עריכת קוד מקור]

תסלחו לי אבל הדוגמא לא נכונה , נראה לי שיש בלבול בין Person ל - CPerson

עוד שם נפוץ בעברית למושג copy constructor: פעולה בונה מעתיקה[עריכת קוד מקור]

לדעתי כדאי לציין זאת בתוך הערך במקום כזה או אחר --‏Stypex‏ • שיחה 12:09, 19 בדצמבר 2021 (IST)תגובה