Menu
Coddy logo textTech

מחלקות לעומת אובייקטים

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

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

המחלקה (תוכנית אב)

class Car {
public:
    std::string brand;
    int year;
    
    std::string getInfo() {
        return brand + " (" + std::to_string(year) + ")";
    }
};

יצירת אובייקטים מרובים (מופעים)

Car car1;
car1.brand = "Tesla";
car1.year = 2023;

Car car2;
car2.brand = "Honda";
car2.year = 2020;

std::cout << car1.getInfo() << std::endl;  // Tesla (2023)
std::cout << car2.getInfo() << std::endl;  // Honda (2020)

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

challenge icon

אתגר

בינוני

צרו מחלקה Car (תבנית). התוכנית יוצרת ממנה שני אובייקטים נפרדים (מופעים), שלכל אחד מהם נתונים משלו:

  • חברים ציבוריים: brand (מחרוזת), year (int)
  • getInfo(): מחזירה "<brand> (<year>)"

נסו בעצמכם

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

int main() {
    std::string brand1, brand2;
    int year1, year2;
    
    std::getline(std::cin, brand1);
    std::cin >> year1;
    std::cin.ignore();
    std::getline(std::cin, brand2);
    std::cin >> year2;
    
    Car car1;
    car1.brand = brand1;
    car1.year = year1;
    
    Car car2;
    car2.brand = brand2;
    car2.year = year2;
    
    std::cout << "Car 1: " << car1.getInfo() << std::endl;
    std::cout << "Car 2: " << car2.getInfo() << std::endl;
    return 0;
}
quiz iconבחנו את עצמכם

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

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

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