Menu
Coddy logo textTech

מתודות (פונקציות איבר)

חלק מהיחידה תכנות מונחה עצמים במסלול ה-C++ של Coddy. שיעור 8 מתוך 104.

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

מתודה שמחזירה ערך

class Calculator {
public:
    int add(int a, int b) {
        return a + b;
    }
};

מתודה מסוג void (ללא ערך מוחזר)

class Printer {
public:
    void printMessage(std::string msg) {
        std::cout << msg << std::endl;
    }
};

מתודה שמחזירה bool

class Checker {
public:
    bool isPositive(int num) {
        return num > 0;
    }
};

הצהרה בכותרת, מימוש בקובץ המקור

// Calculator.h
class Calculator {
public:
    int add(int a, int b);
};

// Calculator.cpp
int Calculator::add(int a, int b) {
    return a + b;
}

טיפוס ההחזרה מופיע לפני שם המתודה. השתמשו ב-void כאשר מתודה אינה מחזירה דבר. אופרטור פתרון התחום :: מקשר מימושים למחלקה שלהם.

challenge icon

אתגר

בינוני

ממשו ארבע פונקציות איבר עבור המחלקה StringHelper, עם טיפוסי החזרה ופרמטרים שונים:

  • getLength(): מחזירה int, אורך הטקסט
  • toUpperCase(): מחזירה std::string, הטקסט באותיות גדולות
  • contains(std::string word): מחזירה bool, האם הטקסט מכיל את המילה
  • repeat(int times): מחזירה std::string, הטקסט חוזר עם רווחים

נסו בעצמכם

#include <iostream>
#include "StringHelper.h"

int main() {
    std::string input;
    std::getline(std::cin, input);
    
    StringHelper helper;
    helper.text = input;
    
    std::cout << "Original: " << helper.text << std::endl;
    std::cout << "Length: " << helper.getLength() << std::endl;
    std::cout << "Uppercase: " << helper.toUpperCase() << std::endl;
    std::cout << "Contains 'World': " << (helper.contains("World") ? "yes" : "no") << std::endl;
    std::cout << "Repeated: " << helper.repeat(3) << std::endl;
    return 0;
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר C++ אונליין