אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2023 · אביב מועד א · שאלה 8כל שאלות המבחן ←
תכנות מונחה עצמים›פולימורפיזם ומחלקות מופשטות

csharp

public class One { protected int x; public One(){ this.x = 1; } public One(int x) { this.x = x; } public virtual void F(int x) { this.x += x; } public override string ToString() { return "x=" + this.x; } } // end of One

public class Two : One { public Two() : base(3) { } public Two(int x) { base.F(x); F(x); } public override void F(int x) { this.x -= x; base.F(x); } } // end of Two

public class Tester { public static void Print(One[] arr) { for (int i=0; i < arr.Length; i++) Console.WriteLine(i+" "+arr[i]); } public static void DoF(One[] arr, int num) { for (int i=0; i < arr.Length; i++) arr[i].F(num); } public static void What(One[] arr) { int k=0; for (int i = 0; i < arr.Length; i++) if (arr[i] is Two) k++; k = arr.Length - k; Console.WriteLine("k = "+ k); } public static void Main(string[] args) { One[] arr = new One[6]; arr[0]= new One(); arr[1]= new One(3); arr[2] = new Two(); arr[3] = new Two(2); arr[4] = new Two(5); arr[5] = arr[1]; Print(arr); DoF(arr, 2); Print(arr); What(arr); } }

סעיף א

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

סעיף ב

מה מבצעת הפעולה What?

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי