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

الدرس الثاني للمؤشرات الى الدوال

مغلق
بدأه Super_emad55 في 5 يونيو 2006 · 9 رد · 2,155 مشاهدة · في المواضيع والدروس
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم,

رغم اني لم ارى ردود تشعرني ان هناك مهتمين, الا اني سوف اكمل شرح هذا الموضوع على الاقل:

رابطة الدرس الاول

عوده الى موضوعنا, لنستطيع عمل الاتي :

void main()
{
	cout << New_Switch(10, 20, Plus)<< endl;
	cout << New_Switch(10, 20, Divide) << endl;
}

 يجب ان نقوم بكتابت الداله الاتيه

float New_Switch(float a, float b, PF function)
{
	return function(a, b);
}

لنعرض موضوع اخر للتوضيح

لنفرض ان لدينا هتان الدالتان لطباعة كلمه مثلا, و لتكن بالشكل الاتي:

void print1(char * string)
{
	cout << "[" << string << "]" << endl;
}

void print(char * string)
{
	cout << string << endl;
}

void main()
{
 	 print(“one”);
	print(“two”);
}

فنقوم بتكوين الداله الاتيه كمؤشر لدوالنا

void (* PF) (char * string) typedef

و نضعها قبل ال main

فيصبح برنامجنا بالشكل هذا

#include <iostream>
using namespace std;


void print1(char * string)
{
	cout << "[" << string << "]" << endl;
}

void print(char * string)
{
	cout << string << endl;
}

typedef void (* PF) (char * string); 

void main()
{
	PF printfunction;
	printfunction = print;	
	printfunction("one");

	printfunction = print1;
	printfunction("one");
}

بالاضافه الى هذا يمكننا ان نقوم بعمل مصفوفه من المؤشرات الى الدوال, ف ال main تكون بهذا الشكل

void main()
{
	PF doit[] = {Plus, Minus, Multiply, Divide};

	for(int i = 0; i<4; i++) 
	cout << doit(5, 10) << endl;
}

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#2

شرح جميل وكلام رائع وأتمنى لك التوفيق

abofahad5515@hotmail.com

#3

ممتاز أخي..

بارك الله فيك.

مللنا من مشاهدة الاسئلة وآن الأوان أن "يتحرّك" المنتدى بهذه المواضيع الجميلة.

#4

أشكركم شباب على الردود الجميله, و إن شاء الله سوف اكمل مجموعه من الدروس لمواضيع لا اقول صعبه, ولكن غير واضحه للكثير من الناس.

بس عندي ملاحظه: ليش تم تغير ايقونة موضوعي!!! اليس لي الاحقيه بوضع موضوعي بالشكل الذي انا اريده؟؟!! ولا حتسوا فينا زي القاده العرب :D

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#5

موضوع مميز ,,, جزاك الله خير ..

وان شاء الله يستمر حماسك ........

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#6

إن شاء الله :)

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#7

ماشاء الله عليك اخي عماد الشرح جميل ورائع

والواحد استفتد منه ونشط الذاكره

Khaled_Tiger

النجاح الوحيد في الحياة هو أن تستطيع أن تحيا حياتك بالطريقة التي تريدها

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

#8

إن شاء الله ذاكرتك نشيطه دائما :D يا خالد

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#9

موضوع جدا جميل و بصراحه أنا استفدت منه كثيرا .

جزاك الله خيرا ..

#10

و اياك اخي يوسف

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

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

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