שאלה בC++

shilgia25

New member
שאלה ב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. מישהו יכול לעזור?
 

vinney

Well-known member
זה הפוך

אתה יכול לעשות casting לB, אבל לא לA. תבדוק שלא התבלבלת בקוד באיזשהו מקום. (וזה שאלה לפורום שפות תכנות
)
 
למעלה