PDA

View Full Version : سوال: سوال در مورد کلاس ها در ++C



man.inam
سه شنبه 24 اردیبهشت 1387, 16:17 عصر
سلام

فرق بین تعریف متغیرها یا توابع در قسمت private با تعریف اون ها بعداز نام کلاس چیه ؟ البته به نظرم نباید فرقی داشته باشن چون هر دوشون می شن جزو توابع اختصاص ...
اگه فرق یا نکته ی دیگه ایم هست ممنون میشم بگید ...



class employee{
char name[20];
public :
void putname (char*s)
.
.
.
private:
double age;
};

ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ـــــــــ
خوش باشین ...

A_Salimi
سه شنبه 24 اردیبهشت 1387, 16:45 عصر
داده ها و توابعی که بلافاصله بعد از نام کلاس می آیند مختص همان کلاس هستند یعنی هیچ تابع یا کلاس دیگری نمی توانند به اجزای کلاس دسترسی داشته باشند . همینطور اگر داده ها و یا توابعی را بعد از کلمه کلیدی private اعلان کنید برای این کلاس اختصاصی خواهند بود دقیقا مثل داده ها و توابعی که بلافاصله بعد از نام کلاس می آیند .پس با هم فرقی ندارند .

man.inam
سه شنبه 24 اردیبهشت 1387, 17:15 عصر
داده ها و توابعی که بلافاصله بعد از نام کلاس می آیند مختص همان کلاس هستند یعنی هیچ تابع یا کلاس دیگری نمی توانند به اجزای کلاس دسترسی داشته باشند . همینطور اگر داده ها و یا توابعی را بعد از کلمه کلیدی private اعلان کنید برای این کلاس اختصاصی خواهند بود دقیقا مثل داده ها و توابعی که بلافاصله بعد از نام کلاس می آیند .پس با هم فرقی ندارند .

بله ، درست میگید
راستش تو کلاس استاد این سوال رو پرسید و گفتیم هیچ فرقی نمی کنه ولی گفت به جواب نزدیک تر شدین ...حالا نمیدونم چرا این حرف رو زد

man.inam
سه شنبه 24 اردیبهشت 1387, 17:49 عصر
دیگه کسی چیزی نمی دونه ؟

emad_67
سه شنبه 24 اردیبهشت 1387, 18:34 عصر
دیگه کسی چیزی نمی دونه ؟
توضیحات لازم رو جناب eshgh_82 (http://barnamenevis.org/forum/member.php?u=46736) دادن.
فکر نمیکنم غیر از این باشه.

psf_alireza
سه شنبه 24 اردیبهشت 1387, 19:23 عصر
همون جوری که بقیه گفتن هیچ فرقی نمی کنه که متغییر در قسمت private تعریف شود و یا بعد از کلمه ذخیره شده class نوشته شود . کامپایلر هر دوی این ها را به صورت متغیر اختصاصی به حساب می آورد . ولی اگر متغیر را بعد از کلمه ذخیره شده struct تعریف کنیم کامپایلر آن را به صورت متغیر عمومی (public) به حساب می آورد.

raven1997
سه شنبه 24 اردیبهشت 1387, 20:44 عصر
در کلاس بر خلاف استراکچرها نوع متغیرها به صورت پیشفرض اختصاصی است یعنی چه هیچی ننویسی و چه بنویسی private هیچ فرقی نمی کنه ولی پیشفرض در استراکچرها public است.:لبخندساده: