C++ Classes and Objects

در C++ برای پیاده‌سازی برنامه‌نویسی شیءگرا (OOP)، از کلاس‌ها (Classes) برای تعریف قالب اشیا و از اشیا (Objects) برای ساخت نمونه‌های واقعی استفاده می‌شود.

🟠 C++ Classes and Objects

🔹 1. تعریف کلاس (Class)

کلاس مانند یک «نقشه» یا «قالب» است که ویژگی‌ها (Properties) و رفتارها (Methods) را مشخص می‌کند.

#include <iostream> using namespace std; class Car { public: // سطح دسترسی string brand; // ویژگی (property) int year; void honk() { // رفتار (method) cout << "Beep!\n"; } };
  • اعضا (Members): متغیرها و توابع تعریف‌شده در کلاس.

  • سطح دسترسی:

    • public : بیرون از کلاس قابل دسترسی است.

    • private: فقط در داخل کلاس قابل دسترسی است.

    • protected: برای ارث‌بری استفاده می‌شود.

🔹 2. ساخت شیء (Object)

برای استفاده از کلاس باید یک شیء بسازید:

int main() { Car car1; // ساخت شیء اول car1.brand = "Toyota"; car1.year = 2024; Car car2; // ساخت شیء دوم car2.brand = "BMW"; car2.year = 2023; cout << car1.brand << " " << car1.year << "\n"; cout << car2.brand << " " << car2.year << "\n"; car1.honk(); // صدا زدن متد return 0; }

هر شیء داده‌ها و رفتار مستقل خودش را دارد.

🔹 3. تعریف متد بیرون از کلاس

می‌توانید توابع عضو را بیرون از تعریف کلاس با عملگر محدوده (::) بنویسید:

class Car { public: string brand; void honk(); // فقط اعلان }; // تعریف بیرونی void Car::honk() { cout << "Beep!\n"; }

🔹 4. سازنده (Constructor)

سازنده تابعی است که هنگام ساخت شیء به‌طور خودکار اجرا می‌شود:

class Car { public: string brand; int year; // سازنده Car(string b, int y) { brand = b; year = y; } }; int main() { Car myCar("Tesla", 2025); cout << myCar.brand << " - " << myCar.year; }

🔹 5. دسترسی به داده‌های خصوصی

برای حفاظت از داده‌ها می‌توان اعضا را private کرد و از توابع getter/setter استفاده نمود:

class Bank { private: double balance; public: void setBalance(double b) { balance = b; } double getBalance() { return balance; } };

✅ نکات مهم

  • کلاس: قالب کلی (Properties + Methods).

  • شیء: نمونه واقعی از کلاس.

  • Public / Private: برای مدیریت سطح دسترسی و امنیت داده.

  • می‌توانید هر تعداد شیء از یک کلاس بسازید و هر شیء مقادیر متفاوتی داشته باشد.

خلاصه

اصطلاحتوضیح
Classتعریف ویژگی‌ها و رفتارها
Objectنمونه ساخته‌شده از کلاس
Membersمتغیرها و متدهای داخل کلاس
Accesspublic, private, protected برای کنترل دسترسی

کلاس‌ها و اشیا پایهٔ اصلی OOP در C++ هستند و امکان سازماندهی کد، استفادهٔ مجدد و توسعهٔ آسان را فراهم می‌کنند.