csharp
class A{ public virtual void F() { Console.WriteLine("A.F"); } public virtual void G() { F(); } } public class B : A{ public override void F(){ Console.WriteLine("B.F"); } public override void G() { Console.WriteLine("B.G"); } public void SuperG() { base.G(); } }
סעיף א
נתון קטע הקוד הבא: A a = new A(); B b = new B(); A ab = new B(); a.F(); ab.F(); b.F(); a.G(); ab.G(); b.G(); ((B)(ab)).SuperG(); b.SuperG(); עקבו אחרי ביצוע קטע הקוד ורשמו מה יהיה הפלט.
סעיף ב
האם אפשר להוסיף לקטע הקוד את שתי הפקודות הבאות? a.SuperG(); ((B)a).SuperG(); הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.