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() التي تحتوي على نفس عدد الباراميترات الذي كنا نمرره لها.

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة