الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ارجو المساعدة بخصوص تيمبليت

مغلق
بدأه big boss 1988 في 15 مايو 2007 · 3 رد · 479 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا يا اعضاء المنتدى اذا سمحتم اريد شرح للتيمبليت وما هي فائدته

:D :D :D :D

#2

السلام عليكم

رأيت كود بسيط وواضح في مكتبة الأكواد الرئيسية للموقع تحت عنوانmeta-programming . تتبعه جيدا وستفهم Templates

#3

السلام عليكم ,,

القوالب أو Templates كما يحلو لك تسميتها هي طريقة مبتكرة لإعادة استخدام الكود دون كتابته من جديد أو نسخه و لصقه أو التعديل عليه ,,

في ++C الطريقة تعتبر ناجحة نسبياً ,, هناك طرق أخرى في لغات برمجة أخرى تسمى Generic Programming بشكل عام يمكنك البحث عنها ,,

لنعد إلى Templates ,, هذا مثال بسيط :

template < class Type >
bool IsEqual ( Type A, Type B ){
	if ( A == B )
		return true;
	else
		return false;
}

قد يبدو شكل الكود غريباً بعض الشيء و لكنه ليس كذلك ,, الكلمة template تقوم بتعريف اسم النوع الذي سيتم ادخاله للدالة ,, يعني باختصار ما هو النوع Type ؟

طبعاً لا يوجد نوع اسمه Type في ++C إذا ما هو Type ؟

الدالة التي كتبناها قبل قليل تعتبر صعبة جداً بدون القوالب ,, لماذا ,, لأنه كلما أردنا أن نقارن متغيرين مثلاً من نفس النوع علينا إعادة تعريف الدالة Overloading ,, و لكن هنا المترجم Compiler بكل بساطة يقوم بالعمل و يستبدل النوع الذي تمرره للدالة بالنوع Type

على سبيل المثال لمقارنة عددين صحيحين int يمكنك تمريرهما للدالة كالتالي :

IsEqual ( 6, 6 );

و الدالة سوف تعيد true طبعاً ماذا لو أردت مقارنة حرفين ؟

بنفس الطريقة !! دون تغيير قم بتمرير المتغيرات و دع العمل للمترجم ,,

طبعاً لا أنسى أن أقول لك أن الدالة ستعمل مع أي فئة Class تم إعادة تعريف المعامل == فيها !!

هناك مكتبة كاملة مبنية بهذه التقنية و هي من أشهر المكاتب و هي STL ,, وهي مكتبة قياسية تأتي مع مترجمات ++C ,,

و هذا درس رائع للقوالب من الأخ time1

درس في القوالب Templates

و هنا نقاش عام قام بفتحه الأخ الشمري و ستجد الكثير من الفائدة فيه

امكانيات مهجورة في STL

طبعاً الموضوع متشعب و إذا كان هناك سؤال محدد فلا تتردد ,,

تحياتي ,,

#4

والله مني عارف كيف بدي اشكرك لانه يوم الاحد عندي امتحان وانتا سهلت علي هذا الدرس والف الف شكر مرة ثانية...............

:rolleyes: :rolleyes: :rolleyes: :rolleyes:

هذا الموضوع مغلق.

مواضيع مشابهة