بتـــــاريخ : 2/22/2011 8:20:50 PM
الفــــــــئة
  • الحـــــــــــاسب
  • التعليقات المشاهدات التقييمات
    0 747 0


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

    الناقل : elmasry | العمر :42 | الكاتب الأصلى : Super_emad55 | المصدر : www.arabteam2000-forum.com

    كلمات مفتاحية  :
    الدرس الثاني مؤشرات الدوال

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

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

    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[i](5, 10) << endl;
    }

    كلمات مفتاحية  :
    الدرس الثاني مؤشرات الدوال

    تعليقات الزوار ()