C++ Constructors
در C++ Constructor (سازنده) تابعی خاص در یک کلاس است که هنگام ساخت شیء به طور خودکار اجرا میشود و معمولاً برای مقداردهی اولیه (initialize) اعضای کلاس استفاده میشود.
🟠 C++ Constructors
🔹 ویژگیهای اصلی
-
نام سازنده دقیقاً همان نام کلاس است.
-
هیچ نوع بازگشتی (حتی void) ندارد.
-
به طور خودکار هنگام ساخت شیء فراخوانی میشود.
-
میتواند پارامتر بگیرد تا مقادیر اولیه را تعیین کند.
🔹 1. سازندهٔ پیشفرض (Default Constructor)
اگر هیچ سازندهای تعریف نکنید، کامپایلر یک سازندهٔ خالی میسازد.
اما میتوانید خودتان هم یک سازندهٔ پیشفرض بنویسید:
🔹 2. سازندهٔ پارامتردار
برای مقداردهی با مقادیر دلخواه:
🔹 3. سازندهٔ چندگانه (Overloading)
میتوانید چند سازنده با پارامترهای مختلف تعریف کنید:
بسته به آرگومانها، سازندهٔ مناسب فراخوانی میشود.
🔹 4. لیست مقداردهی اولیه (Initializer List)
روش بهینه برای مقداردهی:
-
این روش کارایی بالاتری دارد، مخصوصاً برای اعضای
const
یا رفرنسها.
🔹 5. سازندهٔ کپی (Copy Constructor)
برای ساخت یک شیء جدید از روی شیء دیگر:
اگر خودتان تعریف نکنید، کامپایلر یک سازندهٔ کپی پیشفرض میسازد.
✅ نکات مهم
-
سازنده هیچ مقداری برنمیگرداند.
-
میتوان از سازندهٔ صریح (explicit) برای جلوگیری از تبدیل ضمنی استفاده کرد.
-
اگر کلاس پوینتر یا منبع دینامیک دارد، سازندهٔ کپی و مخرب (destructor) مهم هستند (قاعده سهگانه).
خلاصه
نوع سازنده | کاربرد |
---|---|
Default | بدون پارامتر، مقادیر اولیه پیشفرض |
Parameterized | مقداردهی با آرگومان |
Overloaded | چند نسخه با پارامترهای مختلف |
Copy Constructor | ایجاد شیء جدید از روی شیء موجود |
Initializer List | کارایی بالاتر برای اعضای const یا reference |
سازندهها در C++ ابزاری کلیدی برای آمادهسازی و مقداردهی اولیه اشیا هستند و مدیریت تمیز و ایمن دادهها را امکانپذیر میکنند.