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

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

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

مثال

main.cpp
#include <iostream>
using namespace std;
// فتقوم بطباعة ناتج جمعهما int عند استدعاءها نمرر لها قيمتين من النوع sum هنا قمنا بتعريف دالة إسمها
void sum(int a, int b)
{
cout << "First method is called ====> " << a << " + " << b << " = " << (a+b) << endl;
}
// فتقوم بطباعة ناتج جمعهما double عند استدعاءها نمرر لها قيمتين من النوع sum هنا قمنا بتعريف دالة إسمها
void sum(double a, double b)
{
cout << "Second method is called ===> " << a << " + " << b << " = " << (a+b) << endl;
}
// main() هنا قمنا بتعريف الدالة
int main()
{
sum(4, 6); // int هنا سيتم إستدعاء الدالة التي تأخذ 2 باراميتر نوعهم
sum(2.3, 5.4); // double هنا سيتم إستدعاء الدالة التي تأخذ 2 باراميتر نوعهم
return 0;
}
#include <iostream> using namespace std; // فتقوم بطباعة ناتج جمعهما int عند استدعاءها نمرر لها قيمتين من النوع sum هنا قمنا بتعريف دالة إسمها void sum(int a, int b) { cout << "First method is called ====> " << a << " + " << b << " = " << (a+b) << endl; } // فتقوم بطباعة ناتج جمعهما double عند استدعاءها نمرر لها قيمتين من النوع sum هنا قمنا بتعريف دالة إسمها void sum(double a, double b) { cout << "Second method is called ===> " << a << " + " << b << " = " << (a+b) << endl; } // main() هنا قمنا بتعريف الدالة int main() { sum(4, 6); // int هنا سيتم إستدعاء الدالة التي تأخذ 2 باراميتر نوعهم sum(2.3, 5.4); // double هنا سيتم إستدعاء الدالة التي تأخذ 2 باراميتر نوعهم return 0; }

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

First method is called ====> 4 + 6 = 10
Second method is called ===> 2.3 + 5.4 = 7.7
		

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