C++ Constructor Overloading
در ++C میتوانید چند سازنده (Constructor) با نام یکسان ولی پارامترهای متفاوت در یک کلاس تعریف کنید. این ویژگی را Constructor Overloading (سازندهٔ چندگانه) میگویند.
💡 تعریف
-
Overloading یعنی داشتن چند سازنده با تعداد یا نوع پارامتر مختلف.
-
بسته به آرگومانهایی که هنگام ساخت شیء میدهید، کامپایلر سازندهٔ مناسب را انتخاب میکند.
🔹 مثال ساده
✨ خروجی:
🔹 نکات کلیدی
-
امضاهای متفاوت:
-
تعداد آرگومانها متفاوت باشد.
-
یا نوع دادهٔ آرگومانها متفاوت باشد.
-
-
هیچ نوع بازگشتی (حتی void) برای سازنده وجود ندارد.
-
اگر هیچ سازندهٔ پیشفرض ننویسید و فقط پارامتردار بسازید،
ساخت شیء بدون آرگومان (;Box b1
) خطا میدهد.
🔹 استفاده از لیست مقداردهی (Initializer List)
روش بهینهتر برای مقداردهی:
🔹 تفاوت با تابع Overload معمولی
-
سازنده همنام کلاس است و نوع بازگشتی ندارد.
-
اما قوانین تطبیق امضا (Signature Matching) همان قوانین Overload توابع است.
✅ خلاصه
نوع | ویژگی |
---|---|
Overloaded Constructors | چند سازنده با پارامترهای مختلف |
انتخاب سازنده | بر اساس تعداد و نوع آرگومان هنگام ایجاد شیء |
مزیت | انعطاف در ساخت اشیا با حالتهای مختلف |
نتیجه:
Constructor Overloading در C++ امکان میدهد برای شرایط مختلف، سازندههای گوناگون داشته باشید و شیء را به شکلهای مختلف مقداردهی اولیه کنید.