הדוגמא על הפנים עריכה

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

ולמה אתה חושב ככה? טרול רפאים 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)תגובה

חזרה לדף "Copy constructor".