דילוג לתוכן המרכזי
מודול 3 · שיעור 1 מתוך 27/18 בקורס~10 min
שיעורי מודול (1/2)

פונקציות בסיסיות

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

ב-C++, כל פונקציה חייבת להצהיר על סוג הערך שהיא מחזירה, השם שלה וסוגי הפרמטרים שהיא מקבלת.

הגדרת פונקציה

הנה דוגמה לפונקציה פשוטה המסכמת שני מספרים שלמים:

C++
#include <iostream>

// Function definition
int add(int a, int b) {
    return a + b; // Returns the sum
}

int main() {
    int result = add(3, 4); // Function call
    std::cout << "Result: " << result << std::endl;
    return 0;
}

מבנה וחתימה

  • סוג החזרה: סוג הערך המוחזר עם ההצהרה return (למשל int, double, bool). אם הפונקציה לא מחזירה שום ערך, נעשה שימוש בסוג המיוחד void.
  • שם: המזהה שיקראו לפונקציה (באמצעות סגנון camelCase בהתאם ל-R2).
  • פרמטרים: רשימת משתני הקלט המוקפים בסוגריים (), לפני כל אחד מהסוג שלו.

הצהרה מול הגדרה

כדי למקם פונקציות מתחת לפונקציה main, תחילה עליך להכריז על אב הטיפוס (החתימה ללא הגוף):

C++
#include <iostream>

// Prototype (Declaration)
int multiply(int a, int b);

int main() {
    std::cout << multiply(3, 5); // Valid
    return 0;
}

// Definition
int multiply(int a, int b) {
    return a * b;
}

נסה זאת בעצמך

פעילות גופנית#cpp.m3.l1.e1
ניסיונות: 0טוען...

הגדר פונקציה בשם ריבוע שלוקחת מספר n שלם ומחזירה את הריבוע שלו (n * n). קרא לזה בתוך main כדי לחשב את הריבוע של 5 ולהדפיס אותו באמצעות std::cout.

טוען עורך...
הצג רמז

החתימה של הפונקציה היא `int square(int n)`. זכור למקם את הגדרת הפונקציה לפני `main`.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#cpp.m3.l1.e2
ניסיונות: 0טוען...

הגדר פונקציה בוליאנית בשם isEven שלוקחת מספר שלם n ומחזירה true אם המספר זוגי (באמצעות % 2 == 0), אחרת false. תקראו אותו ב-main עם 4 והדפיסו אותו.

טוען עורך...
הצג רמז

הפונקציה חייבת להחזיר סוג `bool`. השתמש ב'n % 2 == 0'.

הפתרון זמין לאחר 3 ניסיונות