ساختمانها در زبان برنامه نویسی سی پلاس پلاس ++C

ساختمانها در زبان برنانه نویسی سی پلاس پلاس ++C
ساختمان مجموعه ای از عناصر است که میتوانند همنوع نباشند. کلاس نیز به همین صورت تعریف شده است. شیوه تعریف ساختمان نیز با کلاس یکسان است. به این ترتیب ارتباط خیلی نزدیکی با یکدیگر دارند.در واقع، ساختمان از زبان C به C++ به ارث رسیده است. تنها تفاوت کلاس و ساختمان در C++ این است که اعضای کلاس در حالت عادی بصورت اختصاصی اند ولی اعضای ساختمان بصورت عمومی اند. در سایر موارد دقیقا یکسان هستند. برای تعریف نوع ساختمان از کلمه کلیدی struct استفاده میشود. این دستور بصورت زیر بکار می رود:
Struct نام نوع ساختمان
{
عناصر عمومی ساختمان
Private:
عناصر اختصاصی ساختمان
};
اعضای عمومی و اختصاصی ساختمان، همچون کلاس میتوانند بصورت داده ای یا تابعی باشند. عناصری که بلافاصله پس از سطر مربوط به کلمه کلیدی struct ظاهر میشوند، اعضای عمومی اند. اعضایی که در بخش private می آیند، اعضای اختصاصی ساختمان میباسند.
به هرحال، ساختمانها در C++ میتوانند کاربرد کلاسها را داشته باشند. به عبارت دیگر، ساختمانها نیز مانند کلاسها میتوانند برای تعریف اشیا به کار گرفته شوند.
تعریف متغیر نوع ساختمان:
پس از اینکه نوع ساختمان تعریف شد، باید متغیری از نوع ساختمان تعریف و از آن استفاده کرد. برای تعریف متغیرهای نوع ساختمان به دو صورت میتوان عمل کرد: روش اول این است که پس از تعریف نوع ساختمان، متغیرها را تعریف کرد و روش دوم این است که ضمن تعریف نوع ساختمان، متغیر نوع ساختمان را نیز تعریف کرد.
انتساب ساختمانها به یکدیگر:
اگر اشیای ساختمان از یک نوع باشند، آنها را میتوان به یکدیگر نسبت داد. در این صورت اعضای داده ای آنها به یکدیگر نسبت داده میشوند.
ساختمانها را میتوان بصورت تودر تو نیز تعریف کرد. به عبارت دیگر، اعضای یک ساختمان خودشان میتوانند ساختمان باشند. دستورات زیر را در نظر بگیرید:
Struct time{
Int second;
Int hour;
Int minute;
}
با اجرای این دستورات، ساختمان time با سه عنصر تعریف میشود.
اکنون دستورات زیر را در نظر بگیرید:
Struct emp{
Void input();
Void output();
Private:
Int no;
Char name;
Struct time t;
}
با اجرای این دستورات، t عنصری از ساختمان emp تعریف میشود که از نوع ساختمان time است.
بسیار عالی واقعا، من با خوندن مطلبتون سوالی که تو ذهنم بود برطرف شد، ممنون