المشاركات

الصفوف و المكدس المذدوج في ++C

صورة
الصفوف يختلف الصف عن المكدس في أن الأخير يعمل بنظام المدخل أخيرا مخرج أولا (Last in-First out ''LIFO'') ولذلك يشبه برصة الأطباق في المطاعم , ما يوضع منها أخيرا هو ما يسحب منها أولا . في حين أن الصف كما تعرفه يسير بمفهوم أن الداخل أولا هو الخارج اولا (First in-First out ''LIFO'') ] إذا افترضنا احترام النظام[   والجدول التالي يعطي دوال الفئة TQueueAsVector , وأهمها get التي تخرج العنصر من بداية الصف و put التي تضيف عنصرا في نهايته . جدول دوال الفئة TQueueAsVector الدالة الغرض منها FirstThat تعيد مؤشرا لأول كائن يحقق شرطا وضعه المبرمج Flush إزالة كافة العناصر ForEach تنفيذ عملية علي كافة العناصر Get ...

المكدس و المصفوفات في ++C

صورة
المكدس نقدم لك مثالا لمكدس يخزن أعدادا كسرية , لنبين لك مدي اليسر في التجول من نوع لأخر في صياغة البرنامج .   Stackflo.cpp // stackflo.cpp // tests the TStackAsVector class with type float #include <classlib\stacks.h> #include <iostream.h>   void main() { // instantiate stack for type float TStackAsVector< float > staflo;   staflo.Push(11.1); // push floats onto stack staflo.Push(12.2); staflo.Push(13.3);   while ( !staflo.IsEmpty() ) // pop floats off stack cout << staflo.Pop() << endl; }   كما نقدم لك في المثال التالي علي الفئة المشتقة كقائمة بدلا من متجه . وهنا أيضا , يكون البرنامج في أغلبه كما هو , وينحصر التغيير في نوع الفئة .   Stacklist.cpp // staklist.cpp // tests the TStackAsList class with type int #include <classlib\stacks.h> #include <iostream.h>   void main() { TStackAsL...

الفئات المكتبية في ++C

صورة
الفئات المكتبية تأتي بيئتي البرمجة بورلاند سي++ وتربو سي++ مزودتين بمكتبة ثرية من الفئات الجاهزة , وأكثر مجموعة منها هي التي سنتناولها باستفاضة في هذا المقال , ألا وهي الحاويات وهي الفئات التي تعطي إمكانية تخزين البيانات أو الكائنات . كما سنعرض لبعض الفئات النفعية , كالأزمنة والعبارات النصية . لا داعي لإعادة اختراع العجلة في المقالات السابقة أنشأنا العديد من الفئات النفعية , لتضم كميات كالوقت أو العبارات النصية , كما أنشأنا فئات حاوية للبيانات , بما في ذلك المكادس , والقوائم المترابطة والمصفوفات كل هذه الفئات كانت للدراسة والإيضاح ولكن في التطبيق العملية فإن مكتبة الفئات التي تقدمها بورلاند توفر عناه صياغة مثل هذه الفئات كلما دعت الحاجة لإستخدامها . صياغة برنامج يتضمن فئة مكتبية في هذا القيم سوف نبين لك كيف تستفيد من الفئات المكتبية , ويفترض لذلك أنك قد أدخلت مكتبة الفئات خلال عملية التنصيب وأنها حملت لنمطي الذاكرة Medium أو Large لكي يستوعبا هذه الفئات وإلا ظهرت لك رسالة خطأ مثل –text segment exceeds 64K'' " ( ما لم يكن برنامجك بسيطا للغاية ) . الإصدارات الق...

تعدد الاستثناءات في ++C

صورة
تعدد الاستثناءات يمكننا أن ندخل ألية الاستثناء لمتابعة أي عدد من الأخطاء المحتملة , ولبيان ذلك نعدل من البرنامج السابق لنفصل بين متابعة خطأ إدخال عدد زائد , وخطأ إدخال عدد زائد وخطأ سحب عدد زائد بحيث يكون لكل فئته الاستثنائية الخاصة به : Xstack2.cpp // xstak2.cpp // demonstrates two exception handlers // UCS Laboratories   #include <iostream.h> const int MAX = 3; // stack holds 3 ints   class Stack { private : int st[MAX]; // stack: array of integers int top; // index of top of stack public : class Full { }; // exception class class Empty { }; // exception class   Stack() // constructor { top = -1; }   void push( int var) // put number on stack { if (top >= MAX-1) // if stack full, throw Full(); // throw Full e...