שאלה בC++
זה בנוגע לcasting: כאשר יש לי 3 מחלקות: A<--B <-- C כלומר C יורש public מB וB יורש protected מA. אני יכולה לעשות בתוך המחלקה C את ההמרה הבאה: A* a=new C אבל אני לא יכולה לעשות בתוך המחלקה C את ההמרה הבאה: A* a=new B השאלה היא, למה? הרי B יורש מA באופן protected ולכן כל מי שיורש מB אמור להיות מסוגל לראות את ההמרה הזו והעובדה היא שניתן לעשות המרה מA לC בתוך המחלקה C. מישהו יכול לעזור?
זה בנוגע לcasting: כאשר יש לי 3 מחלקות: A<--B <-- C כלומר C יורש public מB וB יורש protected מA. אני יכולה לעשות בתוך המחלקה C את ההמרה הבאה: A* a=new C אבל אני לא יכולה לעשות בתוך המחלקה C את ההמרה הבאה: A* a=new B השאלה היא, למה? הרי B יורש מA באופן protected ולכן כל מי שיורש מB אמור להיות מסוגל לראות את ההמרה הזו והעובדה היא שניתן לעשות המרה מA לC בתוך המחלקה C. מישהו יכול לעזור?