שאלה בסי ++

etisme

New member
שאלה בסי ++

נניח יש לי מערך אני רוצה שבכל תא במערך יהיה כתובת של פונק' שדרכה אני יוכל להריץ אותה
 

selalerer

New member
כן, כן! אני לא מוכן להניח כלכל מהר

אני רוצה הוכחות !
 

codec

New member
הגעתי לעבודה בבוקר, וזה עדיין מונח

בדיוק באותו מקום
מה לעשות עם זה ?
 

gilad_no

New member
אנשים, למה להיות ציניים?

אתה מגדיר טיפוס לפונקציה, ומגדיר את המערך מאותו טיפוס:
typedef bool(MyFunc)(int nValue); MyFunc* pList[10]; ... int i=10; bool bResult=(*pList[5])(i);​
 

vinney

Well-known member
כי יש גבול עד כמה אפשר

לזלזל ברצון הטוב של הזולת, אולי?
 

® רן

New member
לא צריך להיסחף

לא לכולם יש את אותה היכולת של הבעה בכתב, או את אותה השליטה בשפה העברית. אם הוא היה מוסיף בסוף את ארבע המילים: "איך עושים את זה?", זה כבר היה בסדר גמור, נכון? אפשר לתת לו להנות מהספק. נכון שלפעמים אנשים שואלים כאן שאלות שמתאימות יותר לפורום קוראי מחשבות, או משפטים סתומים שאי אפשר לפרש בכלל, אבל אני לא חושב שזה היה המקרה כאן.
 

selalerer

New member
לא בטוח ע"פ השאלה אם הוא יודע בכלל

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

etisme

New member
נניח שלא הייתי הכי ברור

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

erezsh

New member
נראה לי

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

gilad_no

New member
בעיקרון זה כן אפשרי

תבדוק את סיפריות BOOST כדי לראות איך קוראים לפונקציה דינמית של מחלקה.
 

® רן

New member
עכשיו אתה עוד הרבה פחות ברור

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