PDA

View Full Version : سوال: تفاوت class و struct چیه ؟



khorzu
چهارشنبه 24 شهریور 1389, 16:04 عصر
:متفکر:
______________________________

مصطفی ساتکی
چهارشنبه 24 شهریور 1389, 16:28 عصر
1- دسترسي پيش فرض تو كلاس private ولي تو struct به صورت public
2- معمولا تو struct تابع تعريف نمي كن يعني function بيس نيست

khorzu
چهارشنبه 24 شهریور 1389, 17:19 عصر
ممنون .
منظورم اینه که با فرض اینکه اول struct بوده چه نیاز جدیدی به وجود اومده که struct نداشته و class به زبان اضافه شده ؟

Pouri_sb
چهارشنبه 24 شهریور 1389, 22:05 عصر
با استفاده از کلاسها برنامه نویسی تیمی راحت تر میشه اما استراکت ها این قابلیتشون ضعیفه. چون ممکنه متغیرهای دو شخص متفاوت تو یه تیم هم نام شن اما با خصوصی کردن متغیر این مشکل بر طرف میشه.

PC2st
چهارشنبه 24 شهریور 1389, 22:28 عصر
تفاوت class با struct علاوه بر سطح دسترسی پیش‌فرض اعضا (که در class بصورت private و در struct بصورت public است)، سطح دسترسی ارث‌بری هم متفاوت است، در classها بطور پیش‌فرض ارث‌بری بصورت private و در structها بطور پیش‌فرض ارث‌بری بصورت public می‌باشد. به غیر از این دو مورد، هیچ محدودیت و تفاوت خاصی بین class و struct نیست.


منظورم اینه که با فرض اینکه اول struct بوده چه نیاز جدیدی به وجود اومده که struct نداشته و class به زبان اضافه شده ؟ اینطور فرض کنید که در سی++ لازم بوده که سطح دسترسی به اعضا بطور پیش‌فرض private باشد، پس برای حفظ سازگاری با زبان C، نوع جدیدی به نام class ایجاد شد. ضمن آنکه class یک نام عمومی‌تر برای معرفی اشیاء است. اما struct در نام خود، اشارهٔ خاصی به وجود شیئ نمی‌کند. در سی++ حتی unionها هم می‌توانند دارای توابع عضو باشند.

Salar Ashgi
پنج شنبه 25 شهریور 1389, 00:53 صبح
عموما پیاده سازی اصول OOP فقط با کلاس امکان پذیر میشود : Operator Overloading , Polymorphism
Inheritance , ... و از Struct بیشتر برای ساخت User Type یا نوع های جدید استفاده میشود ./

پ .ن : برای یک تاپیک تنها عنوان کافی نیست ، پست شما فاقد متن توضیحی است !
بدلیل پاسخ دادن برخی کاربران ، تاپیک حذف نشد ، هرچند که تاپیک تکراری و بدور از
قوانین بود ./