Menu
CoddyTech

מבוא ל-OOP ב-C++

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

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

מחלקה פשוטה עם איברים ציבוריים

class Dog {
public:
    std::string name;
    int age;
    
    std::string bark() {
        return name + " says Woof!";
    }
};

יצירה ושימוש באובייקט

Dog dog;
dog.name = "Buddy";
dog.age = 3;

std::cout << dog.bark() << std::endl;

פלט:

Buddy says Woof!

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

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

// Dog.h
#include <string>

class Dog {
public:
    std::string name;
    std::string bark();   // הכרזה בלבד
};

// Dog.cpp
#include "Dog.h"

std::string Dog::bark() {
    return name + " says Woof!";
}
challenge icon

אתגר

קל

צרו מחלקה Dog עם איברים ומתודות ציבוריים:

  • איברים ציבוריים: name (מחרוזת) ו-age (int)
  • bark(): מחזירה "<name> says Woof!"
  • info(): מחזירה "<name> is <age> years old"

נסו בעצמכם

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

int main() {
    std::string name;
    int age;
    std::getline(std::cin, name);
    std::cin >> age;
    
    Dog dog;
    dog.name = name;
    dog.age = age;
    
    std::cout << dog.bark() << std::endl;
    std::cout << dog.info() << std::endl;
    return 0;
}
quiz iconבחנו את עצמכם

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

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

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