שיעורי מודול (1/2)
כיתות וחפצים
תכנות מונחה עצמים (OOP) היא פרדיגמת ליבה של C++. הוא מאפשר לקבץ נתונים ופונקציות לישויות בודדות הנקראות מחלקות.
מחלקה פועלת כשרטוט, בעוד שאובייקט הוא מופע קונקרטי של אותה מחלקה.
תחביר בסיסי של class
ב-C++, אתה משתמש במילת המפתח class. בניגוד לכמה שפות אחרות, ב-C++, הגדרות מחלקות חייבות להסתיים בנקודה-פסיק ;:
#include <iostream>
#include <string>
class Player {
// By default, all members of a class are private
private:
std::string name;
int score = 0;
public:
// Public methods to access or modify private data
void setName(std::string newName) {
name = newName;
}
void addScore(int points) {
score += points;
}
void display() {
std::cout << name << " has " << score << " points!" << std::endl;
}
};
int main() {
Player p; // Creating an object of type Player
p.setName("Marco");
p.addScore(15);
p.display();
return 0;
}מפרטי גישה: public ו-private
Encapsulation מורכבת מהסתרת פרטי היישום הפנימיים של אובייקט וחשיפת ממשק מבוקר בלבד.
C++ מנהל את הפקד הזה באמצעות מפרטי גישה:
private: חברים נגישים רק בתוך פונקציות חבר של המחלקה עצמה.privateהיא רמת הגישה המוגדרת כברירת מחדל לשיעורים.public: חברים נגישים מכל מקום מחוץ לכיתה.
נסה זאת בעצמך
הגדר מחלקה בשם מלבן עם שני איברים שלמים פרטיים: רוחב וגובה. הוסף שיטה ציבורית void setDimensions(int w, int h) כדי להגדיר אותם, ושיטה int getArea() שמחזירה רוחב * גובה. בעיקרון, צור מלבן, הגדר את מידותיו ל-5 ו-4, והדפיס את השטח.
הצג רמז
השתמש במפרטי הגישה `private:`and`public:`. זכור לסגור את הכיתה עם נקודה-פסיק `;` אחרי הסד המתולתל.
הפתרון זמין לאחר 3 ניסיונות
הגדר מחלקה בשם Counter עם ספירת חברים פרטית מאותחלת ל-0. הוסף שיטות ציבוריות void increment() ו-int getCount(). ב-main, צור אובייקט Counter, הגדל אותו פעמיים והדפיס את הערך.
הצג רמז
ב-C++ moderno puoi inizializzare i membri data direttamente in classe: `int count = 0;`.
הפתרון זמין לאחר 3 ניסיונות