المشاركات

عرض الرسائل ذات التصنيف الهياكل في سي بلس بلس

الهياكل والكائنات في C++

صورة
الهياكل والكائنات قلنا من قبل أن الهياكل هي هياكل للبيانات لتجميع أنواع مختلفة منها , بينما الكائنات هي تجمع للبيانات والدوال الخاصة بالتعامل معها . ونتعرف الأن بأن هذا صحيح بالنسبة للسي التقليدية فقط , أما بالنسبة للسي ++ فالهياكل يمكن أن تضم الدوال أيضا , وعلي ذلك فليس من فرق جوهري بينها وبين الكائنات . علي أن العرف الجاري بين المبرمجين هو أن تقتصر الهياكل علي تجميع البيانات , وأن تستخدم الكائنات لتجميع البيانات والدوال معا . البيانات المعددة شكل الموصف enum كما قلنا من قبل , يمكن النظر للهياكل علي أنها نوع من البيانات يضعه المبرمج . وهناك أسلوب أخر يمكنك من ذلك , هو أسلوب البيانات المعددة enumerated data types . ويسمح لك هذا الأسلوب بتعريف بيانات خاصة بك , مما ييسر لك عملية البرمجة بقدر كبير . وهذا الأسلوب موجود في لغة الباسكال . ويشترط للإستفادة من هذا الأسلوب أن تعرف مسبقا مجموعة القيم التي يمكن أن يأخذها نوع معين من البيانات ] كأن تكون أيام الأسبوع كما في المثال التالي , ومن ثم تسميتها بالمعددة , أي محدودة العدد [ . وفي المثال التالي سوف نعلن عن نوع من البيانات يعبر ع...

الهياكل المتداخلة في C++

صورة
الهياكل المتداخلة يمكن أن يضم هيكل من بين عناصره هيكلا أخر , وهو ما نقدمه لك في المثال التالي , وهو تطوير للبرنامج السابق , نصمم فيه هيكلا لبيانات يخزن فيه أبعاد غرفة ما . ويتضمن البرنامج توصيفا للهيكل السابق , distance , عناصره المتغيران الأوليان inch , feet ثم توصيفا لهيكل جديد ؛ room , عناصره أبعاد الحجرة length , width وكلاهما متغير هيكلي منتم للهيكل الأول . وأخيرا يعرف متغير هيكلي منتم للهيكل room , وهو dining , ليعبر عن غرفة معينة , هي غرفة الطعام . Englarea.cpp englarea.cpp   // englarea.cpp // demonstrates nested structures #include <iostream.h>   struct Distance // English distance { int feet; float inches; };   struct Room // rectangular area { Distance length; // length of rectangle Distance width; // width of rectangle };   void main() { Room dining; // define a room   dining.length.feet ...

التعامل مع عناصر المتغير الهيكلي في C++

صورة
التعامل مع عناصر المتغير الهيكلي ما أن يعرف المتغير الهيكلي , حتي تكون الإشارة لعناصره باستخدام ما يسمي مؤثر النقطة dot operator . وقد تم تخصيص قيمة أول عنصر كالتالي : Part1.modelnimber = 6244; بمعني أن الإشارة لعنصر المتغير الهيكلي يتضمن ثلاثة أجزاء : اسم المتغير ؛ part1 , ثم نقطة , ثم أسم العنصر نفسه . وتعني النقطة هنا أن البيان modelnumber هو عنصر من عناصر المتغير الهيكلي part1 . ونذكرك بـأن الجزء الأول من التعريف هو اسم المتغير الهيكلي , وليس اسم الهيكل , فنرجو الانتباه لعدم الخلط . ويستعمل اسم المتغير للتمييز بين المتغيرات المنتمية لهذه الفئة من الهياكل , وهي مثلا المتغيرات : part1, part2, part3 . والشكل يبين وضع مثل هذه المتغيرات في الذاكرة . شكل مؤشر النقطة وتعامل المتغيرات الهيكلية كغيرها من المتغيرات سواء بسواء , كما هو ملاحظ في أوامر التخصيص أو أوامر الإظهار . خواص أخري للهياكل الهياكل مرنة الاستخدام بصورة مدهشة ؛ لننظر إلي خاصية أخري من خصائصها : الجمع بين التوصيف والتعريف : في البرنامج السابق كان توصيف الهيكل والتعريف بالمتغير الهيكلي في أمرين م...

الهياكل في C++

صورة
الهياكل هذا الفصل يحتوي علي : مواصفات الهياكل و تعاريفها structure specifies and definitions التعامل مع عناصر الهيكل Accessing structure members الهياكل المتداخلة nested structures الهياكل ككائنات وكنوع من البيانات structures as objects and data type البيانات المعددة enumerated data types تعرضنا إلي الأن لأنواع بسيطة من المتغيرات , كالمحارف والأعداد الصحيحة و الكسرية . وتعبر هذه المتغيرات عن بيان ما , كالطول أو درجة الحرارة . ولكن كما تعبأ البضائع في المجال في أكياس , ويجمع الموظفون في المنشآت في إدارات , وترتب الكلمات في جمل , فإنه من المفيد أن تجمع البيانات في تجمعات . وتتضمن لغة السي صورة من هذه التجمعات يسمي "الهيكل structure " ] ننوه إلي عدم الخلط بين مصطلح "هياكل البيانات data structures , كتجمعات معينة من البيانات مثل المصفوفات والمكادس والقوائم , مما سيرد ذكره خلال فصول الكتاب ويبين مصطلح " هياكل structures " كأحد أنواع هذه التجمعات [ . الهياكل الهيكل هو أحد أنواع هياكل البيانات , يمكن أن يضم أنواعا متغيرة من البيانات ] علي عكس ...