خوب اینطور که من فهمیدم برای هر کلاس فقط یک سازنده داریم و کار سازنده ها مقدار دادن به اشیاء کلاس هست. آیا تنها کار سازنده همین هست یا باز هم کارایی دیگه ای هم دارد؟
نه ، ممکنه یه کلاس چندین سازنده داشته باشه ؛ اینجا بحث overloading مطرح میشه ، یعنی تابعی با یک اسم چندین بار تعریف بشه ، که این خیلی کاربرد میتونه داشته باشه
از اینجا فهمیدیم که سازنده یک تابع است که مثل بقیه توابع میتونه پارامتر و داده عضو داشته باشه و باید همنام کلاس باشه
بله !!
ما با اشیاء توابع را در تابع main فراخوانی می کردیم و در بقیه توابع به یه صورت دیگه که در مثال قبل دیدیم اما سازنده ها به اشیاء مقدار اولیه میدن این چه تفاوتی میتونه در فراخوانی تابع در تابع main داشته باشه؟
منظورتو متوجه نمیشم ، خب سازنده به شی مقداردهی میکنه و دقیقا مثل توابع عضو دیگه ی کلاس تو تابع main فراخوانی میشه
مگه میشه داده های عضوی اسم اشیاء رو هم تشکیل بده؟؟؟؟ یا شاید چون برای کلاس های متفاوت هست اصلا تداخلی ایجاد نمیکنه ؟؟
میتونی یک عضو داده ای از جنس کلاس تعریف کنی ، مثلا :
class student
{
private:
string name;
string shomaredaneshjo;
int sen;
student std1;
اینجا std1 علاوه براینکه یک عضو داده ای کلاس student هست ، یک شی ازین کلاس هم به حساب میاد