אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2026 · קיץ מועד א · שאלה 12כל שאלות המבחן ←
תכנות מונחה עצמיםירושה

לפניכם המחלקות A, B, C:

סעיף א - לפניכם קטע קוד שרץ ללא שגיאות:

הציגו את העצמים שנוצרו (סוג העצם, סוג ההפניה, וערך התכונה num).

סעיף ב - לפניכם המשך קטע הקוד (ממוספר) שרץ ללא שגיאות. ציינו את מספר שורת ההדפסה, וכתבו מה הקוד מדפיס:

public class A {
    public int num;
    public A()
    {
        this.num = 1;
    }
    public A (int num)
    {
        this.num = num;
    }
    public int Func (int val)
    {
        return val * 2;
    }
    public virtual int Func (B other)
    {
        return this.num - other.num;
    }
}

public class B : A {
    public B() : base (2) { }
    public B(int val) : base (val)
    {
        this.num = this.num + Func (val);
    }
    public int Func (A other)
    {
        return this.num + (other.num * 10);
    }
    public override int Func (B other)
    {
        return this.num + other.num;
    }
}

public class C : B {
    public C (int val)
    {
        this.num = this.num - val;
    }
    public override int Func (B other)
    {
        return this.num * other.num;
    }
    public int Func (C c)
    {
        return this.num * 4;
    }
}
סעיף א

לפניכם קטע קוד ללא שגיאות: A a = new A(); A ab = new B(); A ac = new C(0); B b = new B(1); B bc = new C(1); C c = new C(1); הציגו את העצמים שנוצרו (סוג העצם, סוג ההפניה, וערך התכונה num).

סעיף ב

לפניכם המשך קטע הקוד (ממוספר) שרץ ללא שגיאות. ציינו את מספר שורת ההדפסה, וכתבו מה הקוד מדפיס.

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

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

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

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