شرح c++ functions


  • 2024-11-26

ما هي الـ Functions في لغة C++؟

الـ functions هي وحدات أو أجزاء من الكود تقوم بمهمة معينة يمكن استدعاؤها عند الحاجة. الهدف من استخدام الـ functions هو تسهيل كتابة الكود، تحسين التنظيم، وزيادة قابلية إعادة الاستخدام.


مكونات الـ Function في C++:

  1. نوع الإرجاع (Return Type): يحدد نوع البيانات التي ستُرجعها الدالة عند انتهاء تنفيذها. يمكن

    أن يكون نوع بيانات (مثل: int، float، string) أو void إذا لم تُرجع أي قيمة.

    مثال:

    cpp
    <button class="flex gap-1 items-center select-none py-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; scrollbar-color: var(--main-surface-tertiary) transparent; font-feature-settings: inherit; font-family: inherit; font-size: 12px; font-variation-settings: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0px; padding: 0.25rem 0px; appearance: button; background-image: none; cursor: pointer; display: flex; user-select: none; align-items: center; gap: 0.25rem; border: 0px solid #e3e3e3;">Copy code</button>
    int Sum(int a, int b); // تُرجع عدد صحيح (int) void PrintMessage(); // لا تُرجع أي قيمة
  2. اسم الدالة (Function Name): يُستخدم لتمييز الدالة واستدعائها لاحقًا. يجب أن يكون اسمًا فريدًا يتبع قواعد تسمية المتغيرات.

  3. المعاملات (Parameters): تُكتب بين الأقواس، وهي مدخلات تُمرر إلى الدالة لتعمل عليها. يمكن أن تحتوي الدالة على صفر أو أكثر من المعاملات.

    مثال:

    cpp
    <button class="flex gap-1 items-center select-none py-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; scrollbar-color: var(--main-surface-tertiary) transparent; font-feature-settings: inherit; font-family: inherit; font-size: 12px; font-variation-settings: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0px; padding: 0.25rem 0px; appearance: button; background-image: none; cursor: pointer; display: flex; user-select: none; align-items: center; gap: 0.25rem; border: 0px solid #e3e3e3;">Copy code</button>
    int Multiply(int x, int y); // معاملان (x و y)
  4. جسم الدالة (Function Body): هو الجزء بين الأقواس المعقوفة { } حيث يتم كتابة الكود الذي ينفذه الـ function.


مثال على تعريف دالة:

cpp
<button class="flex gap-1 items-center select-none py-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; scrollbar-color: var(--main-surface-tertiary) transparent; font-feature-settings: inherit; font-family: inherit; font-size: 12px; font-variation-settings: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0px; padding: 0.25rem 0px; appearance: button; background-image: none; cursor: pointer; display: flex; user-select: none; align-items: center; gap: 0.25rem; border: 0px solid #e3e3e3;">Copy code</button>
#include using namespace std; // تعريف دالة تقوم بجمع عددين int Sum(int a, int b) { return a + b; } int main() { int num1 = 5, num2 = 10; int result = Sum(num1, num2); // استدعاء الدالة cout << "المجموع هو: " << result class="hljs-keyword" xss=removed>return 0; }

أنواع الدوال:

  1. دالة تُرجع قيمة:

    • تُستخدم لإرجاع نتيجة معينة.
    • يتم تحديد نوع الإرجاع قبل اسم الدالة.

    مثال:

    cpp
    <button class="flex gap-1 items-center select-none py-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; scrollbar-color: var(--main-surface-tertiary) transparent; font-feature-settings: inherit; font-family: inherit; font-size: 12px; font-variation-settings: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0px; padding: 0.25rem 0px; appearance: button; background-image: none; cursor: pointer; display: flex; user-select: none; align-items: center; gap: 0.25rem; border: 0px solid #e3e3e3;">Copy code</button>
    float Divide(int a, int b) { return (float)a / b; }
  2. دالة لا تُرجع قيمة (void):

    • تُنفذ عملية معينة لكنها لا تُرجع أي قيمة.

    مثال:

    cpp
    <button class="flex gap-1 items-center select-none py-1" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; scrollbar-color: var(--main-surface-tertiary) transparent; font-feature-settings: inherit; font-family: inherit; font-size: 12px; font-variation-settings: inherit; font-weight: inherit; letter-spacing: inherit; line-height: inherit; margin: 0px; padding: 0.25rem 0px; appearance: button; background-image: none; cursor: pointer; display: flex; user-select: none; align-items: center; gap: 0.25rem; border: 0px solid #e3e3e3;">Copy code</button>
    void PrintHello() { cout << "مرحبًا بك في لغة C++!" << endl>

الفوائد الرئيسية للـ Functions:

  • تقسيم الكود: يسهل العمل على المشاريع الكبيرة بتقسيمها إلى أجزاء صغيرة.
  • إعادة الاستخدام: يمكن استدعاء نفس الدالة عدة مرات في أماكن مختلفة من البرنامج.
  • التنظيم: يجعل الكود أكثر وضوحًا وأسهل للفهم.

ملاحظات:

  • يمكن أن تكون الـ functions داخل نفس الملف أو في ملفات منفصلة مع استخدام التصريح (Prototype).
  • يمكن استخدام الـ Overloading لتعريف أكثر من دالة بنفس الاسم ولكن بمعاملات مختلفة.

هل كان الشرح مفيد؟

avatar
Ahmed Taha

 

  • حضوري وجها لوجه في القاهرة/مصرEG
  • عن بعد/اونلاين
  • شروحات مشابهة

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