Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

C++مثال حول تعريف دوال لها نفس الإسم و تختلف في عدد الباراميترات

في المثال التالي قمنا بتعريف ثلاث دوال إسمهم sum و نوعهما void و لكنهم مختلفين عن بعضهم بعدد الباراميترات.
الدالة الأولى مهمتها جمع أي عددين نمررهما لها عند استدعاءها و من ثم طباعة الناتج.
الدالة الثانية مهمتها جمع أي ثلاث أعداد نمررها لها عند استدعاءها و من ثم طباعة الناتج.

مثال

main.cpp
#include <iostream>

using namespace std;

// عند استدعاءها نمرر لها عددين فتقوم بطباعة ناتج جمعهما sum هنا قمنا بتعريف دالة إسمها
void sum(float a, float b)
{
    cout << a << " + " << b << " = " << (a + b) << endl;
}

// عند استدعاءها نمرر لها ثلاث أعداد فتقوم بطباعة ناتج جمعهم sum هنا قمنا بتعريف دالة إسمها
void sum(float a, float b, float c)
{
    cout << a << " + " << b << " + " << c << " = " << (a + b + c) << endl;
}

// main() هنا قمنا بتعريف الدالة
int main()
{
    sum(1, 3);        // التي تأخذ قيمتين sum() هنا سيتم إستدعاء الدالة
    sum(1, 3, 7);     // التي تأخذ ثلاث قيم sum() هنا سيتم إستدعاء الدالة

    return 0;
}

سنحصل على النتيجة التالية عند التشغيل.

1 + 3 = 4
1 + 3 + 7 = 11

كما لاحظت هنا, في كل مرة قمنا فيها باستدعاء الدالة sum() وجدنا أن المترجم قام باستدعاء الدالة sum() التي تحتوي على نفس عدد الباراميترات الذي كنا نمرره لها.