ساختار در C++
ساختار چیست؟
ساختار به مجموعهای گفته میشود که از متغیرها با نوع دادههای مختلف تشکیل شده و توسط یک نام یکتا کنار هم قرار گرفتهاند.
ساختارها راهی برای گروهبندی چندین متغیر مرتبط در یک مکان هستند.
هر متغیر در ساختار به عنوان عضوی از ساختار شناخته میشود.
ساختار شبیه به یک کلاس است، زیرا یک مجموعه است که انواع مختلف داده را در خود جای میدهد.
نکته: ساختار بر خلاف آرایه میتواند انواع داده ی مختلف را در خودش جای بدهد . مثل : int ، string ، bool و ...
کاربرد ساختار:
ساختارها در C++ برای گروهبندی چندین متغیر مرتبط با نوعهای داده مختلف در یک مکان استفاده میشوند.
این کمک میکند تا کد تمیزتر و مدیریت آن آسانتر باشد.
مثلا، به جای تعریف جداگانه نام، سن و نمرات یک دانشآموز، میتوان همه آنها را در یک ساختار قرار داد.
نحوه درست کردن ساختار
برای ایجاد یک ساختار، باید از کلمه کلیدی struct استفاده کنیم.
جلوی این کلمه کلیدی، یک نام برای ساختار انتخاب میکنیم.
سپس درون آکولادها { } میتوانیم یک یا چند عضو (اعلان متغیرها) از آن ساختار را تعریف کنیم.
#include < iostream >
using namespace std;
int main()
{
struct{
int code;
string name;
string food;
}food;
cout<<"Enter your Code: ";
cin>>food.code;
cout<<'\n'<<"Enter your name: ";
cin>>food.name;
cout<<'\n'<<"Enter your food: ";
cin>>food.food;
cout<<"\n ____________________________________________________________________"<<'\n';
cout<<'\t'<<food.code<<" | "<<food.name<<"\t | "<<food.food;
}
برای دسترسی به اعضای یک ساختار در C++، از نقطه " . " استفاده میکنیم.
ابتدا نام متغیر ساختار را مینویسیم، سپس نقطه و بعد نام متغیر عضو را ذکر میکنیم.
یک ساختار در متغیر های چند گانه
برای استفاده از یک ساختار در بسیاری از متغیرها می توانیم از کاما ( , ) استفاده کنیم .
#include < iostream >
#include < string >
using namespace std;
int main() {
struct {
string name;
string phone;
} myName, yourName;
myName.name = "Ilghar";
myName.phone = "090000";
yourName.name = "Yashar";
yourName.phone = "090000";
cout << myName.name << " " << myName.phone << "\n";
cout << yourName.name << " " << yourName.phone << "\n";
return 0;
}
در C++، ساختار (struct) شبیه به یک کلاس (class) است، اما چند تفاوت جزئی دارد.
مهمترین تفاوت آنها در امنیت است.
یک ساختار امن نیست و نمیتواند جزئیات پیادهسازیاش را از کاربر نهایی (end user) مخفی کند.
در حالی که یک کلاس امن است و میتواند جزئیات طراحی و برنامهنویسیاش را مخفی کند.
خلاصه درس
ساختار (struct) در C++ مجموعهای از متغیرهای مرتبط با نوعهای داده مختلف است که تحت یک نام واحد گروهبندی شدهاند.