ابحثاسم المستخدمقائمة التنقلالموجودون الآن
يوجد حاليا مستخدم واحد و 4 ضيوف متصلون.
الأعضاء الجددملفات للتحميل |
برمجة(3) وvirtual وأشياء أخرى....نشره shashi في الخميس, 25/06/2009 - 7:58م
موعد الفحص : الثلاثاء 23/6/2009 الساعة : 11:00 AM بداية الدراسة للمادة : الأحد 21/6/2009 الساعة 9:00 PM
المحموع الكلي لإمكانية دراسة المادة : 38 ساعة (متواصلة). المجموع الكلي للساعات التي تمت الدراسة فيها : 20 ساعة(18 ساعة نوم + أكل + مشوار الطريق إلى دمر ).
هالإحصائيات هيه عن مادة البرمجة 3، اللي كانت من يومين "مالئ الدنيا وشاغل الناس" بالنسبة لطلاب السنة التانية "الحملة الفكرة من كتابتي هالمدونة مو لأحكي عن الفحص أو المادة بحد ذاتها، هدفي أحكي كيف كان شكل ليلة الفحص الجنونية اللي اكتشفنا فيها اكتشافات غريبة عجيبة ما كنا نتوقع أنو يكون في هيك شي القصة بتبدا بيوم الاثنين 22/6/2009 ببيت العزيزة Joolnar : بدت الدراسة الجماعية(The Lady, Joolnar, Shashi) الساعة AM 11:00 على أمل أنو يكونوا الـ 24 ساعة القادمة كفيلة أنو نوصل لعلامة مرضية بفحص تاني يوم، بلشت المواضيع والأسئلة والنقاشات و"الخناقات بعد شي أربع خمس ساعات من الـPolymorphism والـVirtual والـClasses وليش هون في const شو يعني Static .. وصلنا لصيغة أخيرة لأفضل طريقة ممكن فيها تشكيل Polymorphism ممتازة. الساعة 7:00 PM : قررنا أنو أسئلة الدورات هي وجهتنا للوقت المتبقي من هاليوم، وبدينا بالأسئلة "ولو أنها من نمط مختلف" بس كانت ممتعة، وغزيرة بالأفكار والسلبات الغريبة، وبالمناسبة إذا حدا قرا هالمدونة من طلاب السنة التانية القادميين بقلهون لازم لازم تحلوا أسئلة دورات، بتعلم أكتر بكتير من أي شي تاني. استمرت المسيرة السعيدة مع الدورات ومع تعلم الشغلات الجديدة، والنكتة أنو كل شغلة نجتمع أنو لا مستحيل تكون صحيحة، التطبيق يجي ضدنا "أنو أي بيصير :)". على الساعة 9:00 PM : تقرر أنو اليوم ما في رجعة على البيت الحبكة Class A بيحوي على تابع virtual، وضمن الـ Class B اللي هوه ابن الـClass A التابع نفسه موجود ولكن من دون كلمة virtual! والتابع المطلوب خرجه، يعني العبارة صحيحة. وهون كانت الصدمة!!! معقول ما تكون كلمة Virtual ضرورية ضمن توابع الابن!!!! المشكلة أنو كل شي اسمو سلايدات وأمثلتهم ما فيها مثال ما بيحوي على virtual بهالموقع! طيب السلايدات ممكن تكون غلط، هاتي هالـ C++ How to Program نفس المشكلة أنو كل الأمثلة، بتحوي على Virtual ضمن الابن وبهالموقع بالذات. فالحل هوه التطبيق --> والنتيحة أنو أي بيصير .. وهون كانت الصدمة والاكتشاف الفظيع، والملاحظة الغريبة اللي ما سمعنا عنها لا بمحاضرة ولا بكتاب ولا بسلايدات. ووقتها قررنا نكتب هالمدونة لحتى اللي ما بيعرف هالمعلومة يستفاد منها، ونفتخر باكتشافنا العظيم في تلك الليلة الصعبة المتعبة المثمرة :D بالأخير، الحمدلله كانت أسئلة الفحص صعبة بس ان شاءالله تكون النتائج مرضية. الوقت القليل ما هو معيار لدراسة المادة، التركيز وتجميع أكبر قدر من المعلومات هوه المعيار.
( )
|
طبعاً ممكن كتير
طبعاً ممكن كتير ما يكون بقلب تابع الابن
معنى Virtual : في حال كنا عم نستخدم Polymorphism اذا كان النمط الحقيقي هو نمط ابن ( بغض النظر عن نمط الHandler ) فالتوابع يلي لازم استخدما هي التوابع المعرفة بالابن
هلق ليش لتحطي بالابن Virtual ?
منشان اذا حدا ورت من هال Class كمان يقدر ينزل على الابن مو اكتر
مدونة مفاجئة
مدونة مفاجئة shashi، صحيح كانت ليلة طويلة بس حلوة ورح تضل بالبال
وأحلى مافيها وقت نكتشف شي وتبدا كل وحده تكتب الملاحظات عن الأفكار الجديدة
أكيد وقت نكتشف شي أو نتعرف عليه لأول مرة بدون تلقي يعني( بتعليم شخصي ) منحس وقتها بنوع من السعادة
وان شالله نرفعها بمعدل نحن ال3 سوا
أنا بعرف انو ما
أنا بعرف انو ما بيصير ابدا
يعني مثلا ليكون عنا
<br /> class a<br /> {<br /> public :<br /> at(int,const string &);<br /> virtual void print()const;<br /> private:<br /> int number;<br /> };<br />class b : public a<br /> {<br /> public :<br /> b(int num,const string &first);<br /> virtual void print()const;<br /> };وهون بفرض أخدنا المؤشرين
pa = &a
pb = &b
فشو بدو يطبع هون ؟؟
pa->print()
pa->print()
يعني بكل تابع print() بدو يشتغل حسب الكلاس اللي فيه التابع
وهي هي فائدة تعددية الأشكال كلا اللي اخذناها بالمادة كلا !!
يعني معقولة يعطونا هالمفهوم علفاضي ؟؟
لا تكونوا عاملين التابعين نفس الشي D:
أحلى شي بالفحص
أحلى شي بالفحص إنو أجت الفكرة ذاتها بس اللعبة ما كانت فيها كانت إنو محطوط Int main بدون return و اللي ما بتنبه لهاي الشغلة بصير يفكر بموضوع الـ virtual function
اقتباس: ووقتها
حلوة كتير هل الفكرة ...
و إن شاء الله بترفعوا المادة بمعدل(أنتو الـ 3) ..
كتب ZerOne: وهون
وهون بفرض أخدنا المؤشرين
pa = &a
pb = &b
فشو بدو يطبع هون ؟؟
pa->print()
pa->print()
يعني بكل تابع print() بدو يشتغل حسب الكلاس اللي فيه التابع
وهي هي فائدة تعددية الأشكال كلا اللي اخذناها بالمادة كلا !!
يعني معقولة يعطونا هالمفهوم علفاضي ؟؟
لا تكونوا عاملين التابعين نفس الشي D:
هون ما صار في تعددية أشكال
إذا ما كان عندك غرض من الإبن عم يتم التعامل معه على إساس إنو هو غرض من الأب ما صار في إلها معنا لتعددية الأشكال
و هدف الـ virtual function إنو يخليك قادر على تنفيذ توابع الإبن على الرغم من إنو هو عم يتم التعامل معه كأنه غرض من الأب
أي اكيد لازم
أي اكيد لازم تاخذ غرض من كل class ( علما أنو a أب b ) يعني بس أنا اخصارا كتبت هيك
pa = &a
pb = &b
وأنا بالمثال كان قصدي أنو هو رح يستدعي تابع print() بكل كلاس حسب المؤشر يعني مثلا الغرض المشتق من b المؤشر عليه pb
فلما استدعي
pb->print() رح يستخدملي التابع الموجود عند الإبن مو عند البيي..
@ ZerOne class b : public
@ ZerOne
class b : public a{
public :
b(int num,const string &first);
virtual void print()const;
};
هون الكلمة ممكن أنو تنشال دون أنو تأثر على عملية تحدد تابع الprint المستدعى(إنا كان بيخص الابن أو كان بيخص الأب).
الفكرة أنو التابع مثلاً print رح يكون virtual بالأب أما الابن إذا ما حدا بيورث منو ما في داعي يكون التابع virtual لأنو عملية الـoverloading اللي بدها تصير بتعتمد بس على اسم التابع والـargument list يعني كلمة virtual ضمن الابن مالها ضرورة بتحديد أي تابع رح يتم استدعاؤه.
فإذا كان عنا : pa مؤشر من نوع أب
pa = & a
pa -> print رح يتم استدعاء print الأب
pa=& b
pa-> print رح يتم استدعاء print الابن (مع عدم الحاجة لإضافة كلمة virtual).
آسف كتير هلق
آسف كتير هلق وصلت الفكرة :-s
ومعلومة حلوة رح تفيدنا بتوفير الكثير من كلمات virtual
طبعا إذا عدنا استخدمنا ال Oop بالجامعة يعني ما بعرف يمكن بعد شي ...
هلق صحيح بأي مادة رح نعود نحتاج ال oop ؟
كتب ZerOne:آسف
ومعلومة حلوة رح تفيدنا بتوفير الكثير من كلمات virtual
طبعا إذا عدنا استخدمنا ال Oop بالجامعة يعني ما بعرف يمكن بعد شي ...
هلق صحيح بأي مادة رح نعود نحتاج ال oop ؟
بعتقد بكل شي لقدام ما عاد لازم نفكر إلا OOP ولا تنسى أنو السنة الجاية عنا مادة لغات البرمجة اللي مناخد فيها JAVA واللي هيه Pure OOP.
بعدني ما عرفت
بعدني ما عرفت حتى انسى
، شكرا علمعلومة...
الفحص بيحمل
الفحص بيحمل كتير من الذكريات الحلوة
..موفقين إن شاء الله
حلوة
حلوة الاكتشافات اللي طلعت معكن ليلة الامتحان بس الاحلى تطلع معك بعد الامتحان
هاد الامتحان كان اتعس امتحان بين كل المواد اللي قدمتها بالرغم من انو في مواد تانية بعرف انو ممكن احملها بس ما كانت التعاسة بهاد المقدار
عوضنا على الله و ان شالله ترفعيها بمعدل انتي و الصبايا
صحيح سؤال : حدا انتبه شي انو في سؤال كانت اجوبتو بدون فواصل منقوطة ؟؟ هاد يعتبر خطأ و لا شو ؟؟
كتب shashi: الوقت
الوقت القليل ما هو معيار لدراسة المادة، التركيز وتجميع أكبر قدر من المعلومات هوه المعيار.
صحيح ومهما درست ومهما جربت ومهما عملت .. رح تضل امتحانات البرمجة 3 تحوي مالم بخطر على بالك تجريبه
يمكن هي المادة
يمكن هي المادة بالذات اذا الواحد حابب يجيب فيها علامة منيحة لازم يقعد شي اسبوع يمسك السلايدات (المواضيع المطلوبة) ويقعد يشوف كل مثال ويجربو عالكمبيوتر ويجرب يفترض تعديلات من عندو (تفئيسات) ويجرب ويشوف الخرج
وما صعب انو ينجاب فيها علامة منيحة
بس كل مادة والها طريقة دراسة... وبتصور هي الطريقة اللي بتخلي الواحد يجيب علامة بهيك مادة
نعم نعم لغة C++
نعم نعم
لغة C++ أوسع وأكبر وأعم وأدهش لغة برمجة
مليئة بالمفاجئات
وسعيدي الحظ يللي لح يختصوا برمجيات أكيد أكيد لج يوقعوا بغرام هاللغة خاصة بعد مشروع المترجمات
سألوا NightWolf إذا مو مصدقين
بدها Rasha.88 تطلع
بدها Rasha.88 تطلع تكتب مدونة عن اليوم اللي قبل فحص الأتومات..
هداك اليوم كان تحفة بكل ما تحمل هذه الكلمة من معنى
كتب M-Ramy: سألوا
سألوا NightWolf إذا مو مصدقين
يلي مو مصدق بكرا بيجرب عمي رامي
كتب shashi: وهون
وهون كانت الصدمة!!! معقول ما تكون كلمة Virtual ضرورية ضمن توابع الابن!!!!
وفي لسا الاكتشاف التاني تبع إذا كانوا الـ arguments تبع الـ function معرفين objects من الـclass الأب و بعدين باستدعاء الـ function مرّأنا object من الابن بيمشي الحال يعني ما بيقللي "cannot convert...."
"وشكلنا بالآخير كلنا طلعنا مو دارسين برمجة(1)
"
كمان هاد الاكتشاف كان شي الساعة 2 و نص
بانتظار مدونتك "خوارزميات (2) و أشباح وأشياء أخرى..."
كتب Joolnar:كتب
وهون كانت الصدمة!!! معقول ما تكون كلمة Virtual ضرورية ضمن توابع الابن!!!!
وفي لسا الاكتشاف التاني تبع إذا كانوا الـ arguments تبع الـ function معرفين objects من الـclass الأب و بعدين باستدعاء الـ function مرّأنا object من الابن بيمشي الحال يعني ما بيقللي "cannot convert...."
يعني ما شاء الله حولكم اكتشفتو الـ Polymorphism بدون ما حدا يقللكم عليها؟ يا هيك الإكتشافات يا بلا
كتب
بانتظار مدونتك "خوارزميات (2) و أشباح وأشياء أخرى..."
أما ليلة الخوارزميات 2 =; كانت كئيبة وكانت سباق مع الزمن
بس بتضل زكرى حلوة

كتب mpcabd:كتب
وهون كانت الصدمة!!! معقول ما تكون كلمة Virtual ضرورية ضمن توابع الابن!!!!
وفي لسا الاكتشاف التاني تبع إذا كانوا الـ arguments تبع الـ function معرفين objects من الـclass الأب و بعدين باستدعاء الـ function مرّأنا object من الابن بيمشي الحال يعني ما بيقللي "cannot convert...."
يعني ما شاء الله حولكم اكتشفتو الـ Polymorphism بدون ما حدا يقللكم عليها؟ يا هيك الإكتشافات يا بلا
في ال implicit conversion كمان
كتب mpcabd:كتب