יש לי רק רק הערה אחת למשתמשים בו (אחרי חיפוש שעות אחרי באג שחשבתי שהיה לי):
הקבצים שבודקים את הcopy constructor בודקים אותו בהנחה שהאופן בו בניתם את העץ המועתק היא ע"י מעבר על איברי העץ הנתון בסדר עולה והכנסתם אותם לעץ החדש בסדר הזה. אם בניתם copy constructor שבונה את העץ בצורה אחרת (העתקה מדוייקת בצורה רקורסיבית או בניית עץ מהמערך הממויין שאפשר לקבל מהעץ הקיים באופן רקורסיבי - ע"י בניית נוד לאמצע המערך ואז תת עץ לחצי הימני ולחצי השמאלי לדוגמא) אז הטסטר יכשיל אתכם למרות שאופן הבנייה הזה הוא תקין (שאלתי בפורום וקיבלתי תשובה שהמבנה הפנימי של העץ המועתק לא משנה מבחינת ההעתקה)
(השגיאה בטסטר תהיה בעומק שמתקבל בבדירה contains(x) על איזהשהוא ערך x שבעץ שבנוי אחרת יהיה שונה מהעומק שיתקבל אם תבנו ע"י מעבר על האיטרטור והכנסה בעזרת add() של האיברים בסדר עולה)
גם אנחנו נפלנו על זה.. חבל שלא קראנו קודם!
מקווה שמישהו ינצל.. תודה על השיתוף!
אהלן שלום,
הטסטר הזה קסום!
יש לי רק רק הערה אחת למשתמשים בו (אחרי חיפוש שעות אחרי באג שחשבתי שהיה לי):
הקבצים שבודקים את הcopy constructor בודקים אותו בהנחה שהאופן בו בניתם את העץ המועתק היא ע"י מעבר על איברי העץ הנתון בסדר עולה והכנסתם אותם לעץ החדש בסדר הזה. אם בניתם copy constructor שבונה את העץ בצורה אחרת (העתקה מדוייקת בצורה רקורסיבית או בניית עץ מהמערך הממויין שאפשר לקבל מהעץ הקיים באופן רקורסיבי - ע"י בניית נוד לאמצע המערך ואז תת עץ לחצי הימני ולחצי השמאלי לדוגמא) אז הטסטר יכשיל אתכם למרות שאופן הבנייה הזה הוא תקין (שאלתי בפורום וקיבלתי תשובה שהמבנה הפנימי של העץ המועתק לא משנה מבחינת ההעתקה)
(השגיאה בטסטר תהיה בעומק שמתקבל בבדירה contains(x) על איזהשהוא ערך x שבעץ שבנוי אחרת יהיה שונה מהעומק שיתקבל אם תבנו ע"י מעבר על האיטרטור והכנסה בעזרת add() של האיברים בסדר עולה)
מקווה שחסכתי למישהו כמה שעות דיבוג!
ביי בינתיים