דף הבית שיעורים תוספות לא מונחות עצמים
פרמטרים ברירת מחדל
 
פרמטרים ברירת מחדל
 
כמו שודאי הנך יודע ישנן שתי דרכים לציין פונקציה ב-C.
דרך ראשונה היא הכרזת הפונקציה (prototype או decleration), הכרזה על שמה, על הפרמטרים שלה ועל הערך המוחזר, הממוקמת לרוב בקבצי header יחד עם שאר הכרזות הפונקציות.
פונקציה יכולה להיות מוכרזת פעמים רבות, לאורך כל התוכנית וקבציה, כמו כאן:

long Sum(int to);
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

דרך שניה היא הגדרת הפונקציה ממש (definition), בתוספת שורות הקוד בגוף הפונקציה. פונקציה מוגדרת פעם אחת בכל התוכנית, כמו כאן:

long Sum(int to)
{
 int i;
 long sum = 0;
 for (i=1; i<=to; i++)
  sum += i;
 return sum;
}
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

כידוע גם, ב-C, אם פונקציה מוגדרת עם שני פרמטרים, בכל פעם בה תיקרא לה, עליך לקרוא לה עם שני ערכים מתאימים:

long Calculate(int a, int b, int c);

long Calculate(int a, int b, int c)
{
 return a*2+b*3+c*4;
}

Calculate(52, 0, 0);
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

ובכן ב- ++C יש באפשרותך להגדיר לפרמטרים ערכי ברירת מחדל (default parameters), המאפשרים לך לדלג על שליחת הפרמטרים הללו בעת הקריאה לפונקציה.
לדוגמא, בעת הכרזת הפונקציה נספק לפרמטר השני והשלישי ערך ברירת מחדל 0, ואילו את הגדרת הפונקציה נשאיר כמו שהייתה:

long Calculate(int a, int b=0, int c=0);

long Calculate(int a, int b, int c)
{
 return a*2+b*3+c*4;
}
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

במידה ולא קיימת הכרזת פונקציה, נספק את ערכי ברירת המחדל בהגדרתה.
כעת ניתן לקרוא לפונקציה בצורה הבאה:

Calculate(52);
העבר את העכבר על שורות הקוד בכדי לקבל הסבר מפורט

מכיוון שלא סיפקנו לפונקציה את שני הפרמטרים האחרונים, הפונקציה תיקרא עם ערכי ברירת המחדל.