amirxbox פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 סתם רוצה לראות אם אני היחיד שלא יודע לענות עליהן...class A {public:virtual void f(int x=1) {cout << "A " << x << endl;}};class B : public A {public:void f(int x=2) {cout << "B " << x << endl;}};int main() {A* a = new B;a->f();return 0;}מה מדפיסה התוכנית ולמה?2.מה הוא תפקיד של מנגנוני ההסתרה public / protected / private ?תשובות לא טרויאליות לחסר נסיון כמוני, אני יודע את התשובות אבל בתכלס איך מצפים שמישהו ללא ניסיון יענה על זה נכון?ד"א מישהו רוצה להתחיל לפתח יחד פרויקט לאייפון ?(אפשר בזמנכם הפנוי לאט לאט),השפה היא OBJECTIVE C יש עזרי GUI של Apple וגם אויבקטים לGUI כמו JAVA SWING שכבר נכתבו, המון דוגמאות והכי חשוב הSDK חינמי. קישור לתוכן שתף באתרים אחרים More sharing options...
TheReaper פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 באיזה שפה זה? נראה כמו Cבכל מקרה PUBLIC PRIVATE וPROTECTEDלפי ההבנה שלי משיעורי C#פאבליק אלו משתנים ופעולות שאפשר לגשת אליהם מכל CLASS אחרPRIVATE רק מאותו קלאס שהם נמצאות בווPROTECTED זה כמו PRIVATE רק שגם קלאסים שקשורים לקלאס יכולים לגשת אליהם קישור לתוכן שתף באתרים אחרים More sharing options...
amirxbox פורסם 2008 באפריל 24 מחבר Share פורסם 2008 באפריל 24 באיזה שפה זה? נראה כמו Cבכל מקרה PUBLIC PRIVATE וPROTECTEDלפי ההבנה שלי משיעורי C#פאבליק אלו משתנים ופעולות שאפשר לגשת אליהם מכל CLASS אחרPRIVATE רק מאותו קלאס שהם נמצאות בווPROTECTED זה כמו PRIVATE רק שגם קלאסים שקשורים לקלאס יכולים לגשת אליהםהשפה היא C++ כמובן, לגבי השאלה היא למה המנגנון נועד לא ה קורה עם אתה מגדיר PRIVATE וכו. קישור לתוכן שתף באתרים אחרים More sharing options...
SoapSeller פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 1. שאלה לא קלה. לדעתי הרבה אנשים עם שנות ניסיון רבות היו נופלים בה(מי לעזאזל זוכר איך ערכים דיפולטים מתנהגים בירושה?).2. שאלה בסיסית ב-OO, ולא קשורה לנסיון בכלל. קישור לתוכן שתף באתרים אחרים More sharing options...
MasterDK פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 התוכנית תדפיס B 2כי B יורשת מ A והמתודה F מוגדרת כ VIRTUAL, ואנחנו יוצרים אובייקט B ב MAIN.המטרה של PUBLIC, PRIVATE, PROTECTED היא לשמור על אנקפסולציה של המחלקות (בקצרה ולא ממש בטוח בזה).אכן שאלות לא פשוטות ואני לא בטוח בתשובה שלי. קישור לתוכן שתף באתרים אחרים More sharing options...
Holy פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 שאלה מאד בסיסית ומאד קלה לבדוק אם אתה מכיר פולימורפיזםכל בוגר אקדמיה ידע לענות עליה בלי שום בעיה.התשובה של MasterDK נכונה קישור לתוכן שתף באתרים אחרים More sharing options...
amirxbox פורסם 2008 באפריל 24 מחבר Share פורסם 2008 באפריל 24 שאלה מאד בסיסית ומאד קלה לבדוק אם אתה מכיר פולימורפיזםכל בוגר אקדמיה ידע לענות עליה בלי שום בעיה.התשובה של MasterDK נכונהאני לא נוהג להגיב ככה אבל ענית קצת בהתנשאות ובנוסף ענית תשובה שגויה.B2 היא לא התשובה.לא צריך תואר מאוניברסיטה לדעת את מנגנון הירושה/ ירושה מרובה של C++ אבל כמו שאמרתי השאלה קשה משהי נראית .לגבי 2 גם לא טרויאלי כמו שאתם חושבים שמישהו ינסה ואז אני אתן את התשובה הנכונה. קישור לתוכן שתף באתרים אחרים More sharing options...
Holy פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 תאמת לא שמתי לב בכלל לערכים שהפונקציה מקבלת אלה יותר לירושה אופס קישור לתוכן שתף באתרים אחרים More sharing options...
The_magament פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 ד"א מישהו רוצה להתחיל לפתח יחד פרויקט לאייפון ?(אפשר בזמנכם הפנוי לאט לאט),השפה היא OBJECTIVE C יש עזרי GUI של Apple וגם אויבקטים לGUI כמו JAVA SWING שכבר נכתבו, המון דוגמאות והכי חשוב הSDK חינמי.^^מה אתה בדיוק רוצה לפתח? זה לא שאני יודע לבנות דברים כל כך טוב, סתם מעניין אותי. קישור לתוכן שתף באתרים אחרים More sharing options...
amirxbox פורסם 2008 באפריל 24 מחבר Share פורסם 2008 באפריל 24 ^^מה אתה בדיוק רוצה לפתח? זה לא שאני יודע לבנות דברים כל כך טוב, סתם מעניין אותי.זהו שאין לי את הרעיון, יש את היכולת (אני מקווה) ועוד כמה חברים שאולי יצטרפו אבל לא מצאנו רעיון שבאמת יתפוס.מה שמפתה הוא שסביבית הפיתוח מאוד נוחה ויש הסכם של 70% נטו הכנסות למפתח (אפל דואגת לשרתים וגביית תשלום). קישור לתוכן שתף באתרים אחרים More sharing options...
ktbnus פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 מדפיס B1.שאלה לא פשוטה אבל גם לא קשה אבל טריקית. אין לי הסבר מדוייק, אבל ננסה.בגלל שהפונקציה וירטואלית היא עוברת קישור בזמן ריצה ( מהקריאה למימוש הרלונטי ). בגלל ש a הוא מצביע ל A לפי הגדרה ( ובזמן קומפילציה ). בזמן ריצה, לאחר הקריאה הקפיצה הראשונה תהייה ל מימוש של A, בגלל שהפונקציה וירטואלית הוא יקפוץ למימוש של האוביייקט הרלוונטי, אבל הפרוטוטייפ של שניהם זהה לכן X יקבל את הערך בפרוטוטייפ המקורי , שזה 1.בקשר ל PUBLIC PRIVATE PROTECTED, זה באמת משהו בסיסי שכל אחד שמתעסק בשפות OO צריך לדעת. קישור לתוכן שתף באתרים אחרים More sharing options...
amirxbox פורסם 2008 באפריל 24 מחבר Share פורסם 2008 באפריל 24 מדפיס B1.שאלה לא פשוטה אבל גם לא קשה אבל טריקית. אין לי הסבר מדוייק, אבל ננסה.בגלל שהפונקציה וירטואלית היא עוברת קישור בזמן ריצה ( מהקריאה למימוש הרלונטי ). בגלל ש a הוא מצביע ל A לפי הגדרה ( ובזמן קומפילציה ). בזמן ריצה, לאחר הקריאה הקפיצה הראשונה תהייה ל מימוש של A, בגלל שהפונקציה וירטואלית הוא יקפוץ למימוש של האוביייקט הרלוונטי, אבל הפרוטוטייפ של שניהם זהה לכן X יקבל את הערך בפרוטוטייפ המקורי , שזה 1.בקשר ל PUBLIC PRIVATE PROTECTED, זה באמת משהו בסיסי שכל אחד שמתעסק בשפות OO צריך לדעת.ההסבר לא טוב, אתה מפספס את הפואנטה שהיא מה קומפילר חכם יעשה שהוא רואה int x =CONST.לגבי PRIVATE וPUBLIC- כל אחד יודע מה הם עושים אבל מה ההגדרה המדויקת שלשלמה הם נועדוהשאלה היתה אמריקאית ואלו האפשרויות:שאלה 3בתכנות מונחה עצמים? public / protected / private מה מהבאים הוא תפקיד של מנגנוני ההסתרה1. למנוע מאדם שאינו מורשה לבצע קוד מסוים2. למנוע מהמתחרים לקרוא קוד שהוא פרטי שלנו3. למנוע מהמשתמש לבצע פעולות שיגרמו לשגיאה4. למנוע משינויים במחלקה אחת לאלץ שינוי במחלקה אחרת קישור לתוכן שתף באתרים אחרים More sharing options...
ktbnus פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 תשובה: 4, אבל בשביל זה אתה לא צריך לדעת יותר מדי עקרונות OO.1 לא קשור, מי זה אדם מורשה? לא מורשה לקרוא להם מתי, איפה?.. בקיצור לא קשור בכלל.2 - ממש לא קשור.3 - 3 כל פעולה יכולה לגרום לשגיעה. גם לא נכון.מכאן, אם יש תשונה נכונה, אז התשובה היא 4.הסבר יותר רלוונטי.הקומפיילר אינו אחראי לנהל זכויות משתמשים, לדאוג לחריגות או אפילו להסתיר את הקוד. המטרה של הסתרת מידע היא להפריד בין המנשק של המחלקה לבין פרטי המימוש שלה, וע"י כך למנוע משינויים במימוש של מחלקה מסוימת להשפיע על מחלקות אחרות.בקשר לשאלה הראשונה, אני לא יודע עד כמה ההסבר שלי נכון, אני די בטוח שכזה זה עובד. אשמח לקראות הסבר מפורט יותר.לא יודע עד כמה זה קשור בכלל מה קומפיילר יעשה במצב הזה, כי זה לא רלוונטי. בגלל שהפרוטוטיפ של 2 הפונקציות זהה ( אין הבדל בין 1 ל 2 )הקריאה תעבור למימוש של B אם הפרוטוטייפ המקורי של A וערכי ה DV שלה.אבל תכלס, זה ממש לא משנה,, מה שאתה מתאר פה זה מקרה קצה שלא אמור להתקיים בכלל. מחלקה יורשת אשר דורסת מטודה של מחלקת האב צריכה לשמור על עקרון same or bettter. במצב הזה אני לא בטוח שזה נשמר. מכיוון שהפעלה של F של B בלי פרמטרים תתן תוצאה שונה לחלוטין. אבל זה כבר קשור למימוש של המטודה וכול'. אבל בכל מקרה, ניראה לי שיש פה סטייה. קישור לתוכן שתף באתרים אחרים More sharing options...
Zelig פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 אני חייב לציין שיש לי כאב ראש. אבל A::f מוגדרת כוירטואלית בעוד ש-B::f אינה מוגדרת כוירטואלית, לשתיהן אותה חתימה.עד כמה שאני זוכר - זו שגיאת קומפילציה. מצד שני אולי הקומפיילר מאפשר את זה.בכל מקרה default parameters הם יצור סטטי - הקומפיילר משתמש בהם בזמן קומפילציה. קישור לתוכן שתף באתרים אחרים More sharing options...
ktbnus פורסם 2008 באפריל 24 Share פורסם 2008 באפריל 24 זאת לא שגיעת קומפילציה מכיוון ש F לא באמת מוגדרת וירטואלית. virtual לא מתיחס לפרוטוטייפ של המטודה או לחתימה אלה זו בעצם הוראה לקומפיילר לבצע קישור דינמי בזמן ריצה. (dynamic biding) . וברגה שמטודה "הוגדרה" להיות ווירטואלית במחלק האב היא שומרת על אותה "הגדרה" בכל מחלקות הבן. ( פחות או יותר ) קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.