בסעיף ב' נתונה היררכיית המחלקות Point←Circle←Cylinder עם שרשרת ToString; יש להשלים בונים ודריסות כך שהפלט יהיה 'x = 1, radius = 2' ו-'x = 10, radius = 20, height = 30'.
קטע הקוד מ-Main (סעיף א'):
Three x1 = new One();
Two x2 = (Two)(new One());
Two x3 = new Four();
One x4 = new Four();
נתונה הפעולה Main במחלקה Driver (ראו את קטע הקוד למעלה). נתונות חמש האפשרויות לעץ הירושה הכולל את המחלקות One, Two, Three, Four: 6. Three יורשת מ-One, Two יורשת מ-One, Four יורשת מ-One 7. Three יורשת מ-One, Two יורשת מ-One, Four יורשת מ-Two 8. One יורשת מ-Three, Four יורשת מ-Two, Three יורשת מ-Two 9. One יורשת מ-Three, Three יורשת מ-Two, Four יורשת מ-One 10. One יורשת מ-Three, Two יורשת מ-One, Four יורשת מ-One עבור כל אחת מהאפשרויות ציירו עץ ירושה וכתבו אם הפעולה Main תהיה תקינה או תתרחש שגיאת הידור (קומפילציה) או שגיאת זמן ריצה. הסבירו את תשובתכם.
(אין קשר לסעיף א'). נתונות שלוש המחלקות הבאות: Point (מתארת נקודה על ציר ה-X), Circle (מעגל עם מרכז על ציר ה-X, יורשת מ-Point), Cylinder (גליל, יורשת מ-Circle) — ראו את קוד המחלקות למעלה. נתונה הפעולה Main הבאה: Circle b = new Circle (1, 2); Console.WriteLine(b); Cylinder c = new Cylinder (10, 20, 30); Console.WriteLine(c); השלימו את הפעולות החסרות במחלקות Cylinder ו-Circle כך שפלט הפעולה Main יהיה: x = 1, radius = 2 x = 10, radius = 20, height = 30
public Circle(int x, int radius) : base(...) — public override string ToString() — public Cylinder(int x, int radius, int height) : base(...)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.