كيفية إرجاع المؤشر من الوظائف في C++

Kyfyt Arja Almwshr Mn Alwzayf Fy C



في لغة C++، تكون الدالة عبارة عن كتلة من التعليمات البرمجية يتم تقديمها لأداء بعض الوظائف ويتم استخدام المؤشرات للإشارة إلى المتغيرات في الوظيفة. يتم تعيين المؤشرات مع العنوان.

كيفية إرجاع المؤشر من الوظائف في C++

في C++ من الممكن إرجاع مؤشر من دالة. يمكن تحقيق ذلك من خلال الإعلان عن دالة نوع الإرجاع كمؤشر لتلك الوظيفة. تأخذ كل وظيفة يتم إنشاؤها عنوانًا محددًا في الذاكرة. يتم إدراج العلامة النجمية * على يسار اسم الوظيفة.







بناء الجملة

هذا بناء جملة لإرجاع مؤشر من دالة في C++:



يعود يكتب ( * function_pointer_name ) ( الوسيطة_نوع_1، الوسيطة_نوع_2، ……، الوسيطة_نوع_ن ) = اسم وظيفة ;

مثال 1

يوضح هذا المثال عودة المؤشر من دالة في لغة C++:



#تشمل

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

فارغ نتيجة ( كثافة العمليات & أ )

{

أ + = 10 ;

}

كثافة العمليات رئيسي ( )

{

كثافة العمليات س = 40 ;

// يعود المؤشر من الوظيفة

فارغ ( * بتر ) ( كثافة العمليات & ) = & نتيجة ;

بتر ( س ) ;

cout << س << endl ;

يعود 0 ;

}

في هذا الكود المصدري، يتم الإعلان عن دالة نتيجة باطلة وتأخذ المرجع إلى int a الذي يتم زيادته 10 مرات. يقوم المتغير x بتخزين القيمة 40، ويشير *ptr إلى الدالة int&. نظرًا لأن ptr يشير إلى النتيجة، لذلك تتم زيادة x بمقدار 10.





تتم زيادة قيمة الإدخال x بمقدار 10 ويتم إرجاعها بمقدار 50.



مثال 2

وهذا مثال لحساب الراتب الأسبوعي للعمال:

#تشمل

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

مزدوج & GetWeeklyHours ( )

{

مزدوج ح = 32.65 ;

مزدوج & ساعات = ح ;

يعود ساعات ;

}

مزدوج * احصل على الراتب ( )

{

مزدوج مرتب = 42.48 ;

مزدوج * الراتب بالساعة = & مرتب ;

يعود الراتب بالساعة ;

}

كثافة العمليات رئيسي ( )

{

مزدوج ساعات = GetWeeklyHours ( ) ;

مزدوج مرتب = * احصل على الراتب ( ) ;

cout << 'ساعات العمل الأسبوعية:  ' << ساعات << endl ;

cout << 'الراتب بالساعة للعمال: ' << مرتب << endl ;

مزدوج الراتب الأسبوعي = ساعات * مرتب ;

cout << 'الراتب الأسبوعي للعمال:' << الراتب الأسبوعي << endl ;

يعود 0 ;

}

في كود المصدر هذا، يتم إدخال الساعات والرواتب بالساعة. يتم استخدام مؤشر الإرجاع من طريقة الوظيفة للوصول إلى هذه المعلمات وحساب الراتب الأسبوعي للعمال.

ومن خلال معرفة الساعات الأسبوعية والراتب بالساعة، يمكن حساب الراتب الأسبوعي عن طريق ضرب كلا الشرطين.

خاتمة

في C++ من الممكن إرجاع مؤشر من دالة. يمكن تحقيق ذلك من خلال الإعلان عن دالة نوع الإرجاع كمؤشر لتلك الوظيفة. تأخذ كل وظيفة يتم إنشاؤها عنوانًا محددًا في الذاكرة.