فرق struct با class - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

فرق struct با class

+7 امتیاز
281 بازدید
سلام . تفاوت struct با کلاس در چیه البته قضیه اینکه با تعریف کلاس می تونیم از وراثت استفاده کنیم را اطلاع دارم آیا فرق دیگری هم با هم دارند از نظر حافظه یا مزیت دیگر؟ ممنون
سوال شده آذر 1, 1392  بوسیله ی maziyar ebrahimi (امتیاز 166)   5 20

3 پاسخ

+5 امتیاز
 
بهترین پاسخ

جفتشون مانند همدیگه هستند .

تفاوتی که باهم دارن اینه که در class عضو ها بصورت خودکار private هستند ولی در struct بصورت خودکار public هستند .

بااینکه هردوی اینا ازدید کارایی یکی هستند , ولی از struct بیشتر برای تعریف ساختارهای داده ای ساده بکاربرده میشه .

پاسخ داده شده آذر 1, 1392 بوسیله ی Ali Rahbar (امتیاز 4,805)   3 13 46
یک تفاوت دیگه ای هم که دارن این هست که:
استفاده از ... <template<class T مجاز هست،
ولی استفاده از ... <template<struct T خیر...
+8 امتیاز

تو C++ هم struct می تونه از وراثت استفاده کنه عملاً فرقی وجود نداره یک مسئله ای که وجود داره struct ی که بدون متد باشه همانند struct ها در ansi c که بهش POD struct میگن.

پاسخ داده شده آذر 1, 1392 بوسیله ی مصطفی ساتکی (امتیاز 16,267)   16 24 65
یعنی ساختاری که متد نداره بهینه سازی میشه؟
نه ربطی به بهینه سازی نداره متد ها  توی سایز struct هم حتی تاثیر هم ندارن
+2 امتیاز

يک تفاوت دیگه هم اینه که زمان ارث بردن از یک struct

اگر نحوه ارث بری ذکر نشه برای struct بصورت پیش فرض public درنظر گرفته میشه ولی برای کلاس private 

struct A {};

struct B:A //moadele struct B:public A
{};

class C {};

class D: C//moadele class D:private C
{};

 

پاسخ داده شده تیر 1, 1393 بوسیله ی BlueBlade (امتیاز 15,712)   13 16 85
...