העמסת אופרטור *. מספר יכול לבוא לפני או אחרי * - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

העמסת אופרטור *. מספר יכול לבוא לפני או אחרי *


pain_killer12

Recommended Posts

שלום לכם.

אני כותב תרגיל בשפת ++C.

יש לי מחלקה, שמימשתי עבורה את האופרטור * - כפל.

Polynomial operator * (double x);

עכשיו, אמרו שצריך לטפל במצב שיש לי משהו כמו:

Polynomial temp = poly2 * 10;

וגם למצב:

Polynomial temp = 10 * poly2;

מיותר לציין שפולי2 וטמפ הם מאותו מחלקה.

איך אני גורם לאופרטור לעבוד גם כשהמספר בא קודם וגם כשהאובייקט בא קודם?

ועוד שאלה, איך אני מקזז double בהדפסה, שיופיע רק עם 2 ספרות אחרי הנקודה?

תודה מראש לעוזרים.

קישור לתוכן
שתף באתרים אחרים

הממ לא הצלחתי למצוא איך לעשות את זה חוץ מהשיטה של friend function

http://www.learncpp.com/cpp-tutorial/92-overloading-the-arithmetic-operators/

תקרא את Overloading operators for operands of different types

לגבי מספר הספרות אחרי נקודה: נראה לי שזה הולך ככה:

std::cout << std::setprecision(2) << 3.123456789f;

וזה ידפיס רק 3.12 או 3.13 (לא זוכר אם זה מעגל, ואם כן אני גם לא בטוח אם זה יעגל במקרה שלי).

קישור לתוכן
שתף באתרים אחרים

תודה חבר.

עכשיו יש לי בעיה אחרת. הקוד מצורף למטה.

משום מה כשאני מנסה לקמפל הוא קופץ לי עם שגיאות על זה שיצרתי אובייקטים בmain.

על מה ולמה?

מודה על העזרה מראש.

[attachment deleted by admin]

קישור לתוכן
שתף באתרים אחרים

בבקשה:


[ skwo@Moonlight dev ] cat test.cpp
#include <iostream>
#include <iomanip>

int main(){
double a = 0;

std::cout << std::fixed << std::setprecision(2) << a << std::endl;

return 0;
}
[ skwo@Moonlight dev ] g++ test.cpp
[ skwo@Moonlight dev ] ./a.out
0.00
[ skwo@Moonlight dev ]

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...