בעיה עם ירושה ב-CPP

MaorCS

New member
בעיה עם ירושה ב-CPP

הגדרתי מחלקות שיורשות מ- CShape והכל טוב ויפה הגדרתי מערך של מצביעים ל CShape ושמתי בכל אחד מהתאים את הכתובת של האובייקטים. אבל כשאני מנסה להפעיל את המטודה Draw() על כל אחד מהתאים במערך של המצביעים אני מקבל שגיאה שלמטודה אין מחלקה.. הקוד:
Sp[0] = &C; Sp[1] = &R; Sp[2] = &S; Sp[3] = &Shape; for (i = 0 ; i < 4 ; i++) { //כאן אני מקבל שגיאה// Sp.Draw(); } השגיאה: left of '.Draw' must have class/struct/union type מה יכולה להיות הבעיה? תודה.
 

MaorCS

New member
לא נראה לי שהייתי מספיק ברור..

ההגדרות שלי הם כאלה:
CCircle C; CRectangle R; CSquare S; CShape Shape;​
וכמובן שבכל מחלקה נמצאת המטודה Draw().
 

IפלסטיקI

New member
sp->Draw

כי הרי אמרת שהמערך הוא מטיפוס מצביע ל- Shape אז כל איבר הוא Shape* והגישה למטודות מתוך מצביע נעשית דרך הסימן ->.
 

MaorCS

New member
נכוןןןןן איזה דפוק אני....

שכחתי מהחץ הזה לגמרי.. תודה!
 
למעלה