שלוש מחלקות A, B, C (B יורשת מ-A, C יורשת מ-B), עם מונה סטטי count המשותף לכולן ותכונה num פרטית לכל עצם. יש להשלים ביטויי יצירת עצמים כך שהפלט של מחלקת Driver יתאים לפלט הנתון, ולעקוב אחר שינויים בהיררכיית הירושה.
public class A {
public static int count = 0;
private int num;
public A()
{
count++;
num = count;
}
public A(int n)
{
num = n;
}
public override string ToString()
{
return count+","+ num;
}
} // end of A
public class B :A {
private string str;
public B()
{
str="GOOD";
}
public B(string s): base(10)
{
str = s;
}
public override string ToString()
{
return base.ToString()+" "+str;
}
}// end of B
public class C : B {
private string str;
public C(string s)
{
str = s;
}
public override string ToString()
{
return base.ToString()+" "+str;
}
}// end of C
מחלקת Driver עם מערך A[6] — יש להשלים את שש ההשמות (1)-(6) כך שהפלט המתקבל מלולאת ההדפסה יהיה בדיוק כפי שמופיע בשאלון. אותה מחלקת Driver משמשת גם לסעיפים ב'-ג' (רק כותרת C משתנה בין הסעיפים).
public class Driver {
public static void Main(string[] args) {
A[] arr=new A[6];
arr[0]= … // (1)
arr[1]= … // (2)
arr[2]= … // (3)
arr[3]= … // (4)
arr[4]= … // (5)
arr[5]= … // (6)
for(int i=0; i<arr.Length; i++)
Console.WriteLine(arr[i]);
}
}
הפלט הנדרש (סעיף א'):
4,10 Morning
4,1
4,2 GOOD Afternoon
4,10 Evening
4,3 GOOD Night
4,4 GOOD
נתונה מחלקה Driver הבאה: public class Driver { public static void Main(string[] args) { A[] arr=new A[6]; arr[0]= … // (1) arr[1]= … // (2) arr[2]= … // (3) arr[3]= … // (4) arr[4]= … // (5) arr[5]= … // (6) for(int i=0; i<arr.Length; i++) Console.WriteLine(arr[i]); } } השלימו פעולות השמות (1)-(6) כך שהפלט יהיה: 4,10 Morning 4,1 4,2 GOOD Afternoon 4,10 Evening 4,3 GOOD Night 4,4 GOOD
כותרת המחלקה C השתנתה ל- public class C : A האם שינוי זה יגרום לשגיאה? אם כן — הסבירו את השגיאה, אם לא — רשמו מה יהיה הפלט של ה-Main אחרי השינוי.
כותרת המחלקה C השתנתה ל- public class C האם שינוי זה יגרום לשגיאה? אם כן — הסבירו את השגיאה, אם לא — רשמו מה יהיה הפלט של ה-main אחרי השינוי.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.