שאלה מטורת ב-C++
שלום לכולם... קיבלתי את השאלה הבאה, ואין לי מושג קלוש איך לגשת לאיזה כיוון לחשוב (חוץ מזה שזה בטח קשור לפולימורפיזם כי זה מה שלמדנו) אודה לכ מי שיכול לעוזר בדרך כלשהי... והנה השאלה: הגדר את הקלאסים הבאים: Expression, BinOp, UnOp, TernOp, Literal, Sum, Product, Exponent, CondExp את הפונקציה הוירטואלית: float eval() וכל מה שמתבקש על מנת שהתכנית הבאה : main() } expression *p = new Exponent(new literal(2.0),new Sum(new literal(1.0),new literal(2.0))); expression *q = new CondExp(new Sum(new literal(1.0),new literal(-1.0((, new Exponent(new literal(4.0), new literal (3.0)), new Product(new literal (2.0),new literal (3.0))); cout << *p " = " >> >> p->eval(); cout << *q " = " >> >> q->eval(); } תדפיס את הפלט הבא : ( 2 ^ ( 1 + 2 ) ) = 8 (( 1 + -1)) ? ( 4 ^ 3 ) : ( 2 * 3 ) = 6 ושוב תודה לכל מי שיכול לעזור.
שלום לכולם... קיבלתי את השאלה הבאה, ואין לי מושג קלוש איך לגשת לאיזה כיוון לחשוב (חוץ מזה שזה בטח קשור לפולימורפיזם כי זה מה שלמדנו) אודה לכ מי שיכול לעוזר בדרך כלשהי... והנה השאלה: הגדר את הקלאסים הבאים: Expression, BinOp, UnOp, TernOp, Literal, Sum, Product, Exponent, CondExp את הפונקציה הוירטואלית: float eval() וכל מה שמתבקש על מנת שהתכנית הבאה : main() } expression *p = new Exponent(new literal(2.0),new Sum(new literal(1.0),new literal(2.0))); expression *q = new CondExp(new Sum(new literal(1.0),new literal(-1.0((, new Exponent(new literal(4.0), new literal (3.0)), new Product(new literal (2.0),new literal (3.0))); cout << *p " = " >> >> p->eval(); cout << *q " = " >> >> q->eval(); } תדפיס את הפלט הבא : ( 2 ^ ( 1 + 2 ) ) = 8 (( 1 + -1)) ? ( 4 ^ 3 ) : ( 2 * 3 ) = 6 ושוב תודה לכל מי שיכול לעזור.