C++/פונקציות: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
Michali85 (שיחה | תרומות)
שורה 14:
int main()
{
cout << sum(5,6) << endl << sum(3.56,8.5);
return 0;
}
 
int sum(int num1,int num2)
{
return num1+num2;
}
 
double sum(double num1,double num2)
{
return num1+num2;
}
</pre>
שורה 31:
שימו לב ששני הפונקציות כאן הן בעלות שם זהה - sum. אם הפונקציה תקרא עם שני פרמטרים מסוג int, אזי הגרסא הראשונה תצא לפעולה, אם תקרא עם פרמטרים מסוג double, הגרסה השניה תצא לפעולה.
אפשר גם לשנות את אחת הפונקציות, למקרה שנרצה לעשות חישוב שונה לdouble ולint.
 
===המרה ובעיות אפשריות===
אם למשל נקרא לפונקציה sum()‎ שיצרנו קודם עם שני פרמטרים מסוג שונה מהמוזכרים בקוד, יתרחש מיד ניסיון המרה של המהדר. במקרה שלנו, עם נקרא לפונקציה עם פרמטרים מסוג float, המהדר ימיר אותם לdouble ותקרא הגירסא השניה של sum()‎.