تا
به حال توابع مورد استفاده در برنامه هايمان را قبل از اولين فراخوانی آنها
تعريف کرديم و اين فراخوانی معمولا در تابع
main بود. لذا تابع
main را به عنوان آخرين تابع در برنامه نوشتيم. اگر
بخواهيد که تابع
main را قبل از هر تابع ديگری در برنامه
بنويسيد. هنگام اجرای برنامه يک پيغام خطا دريافت خواهيد کرد. دليل وقوع خطا
اين است که هنگامی که تابعی فراخوانی می شود بايد قبلا تعريف شده باشد، مانند
شيوه ای که ما در برنامه های قبلی استفاده کرديم.
يک راه چاره برای اجتناب از نوشتن کد همه توابع قبل از استفاده آنها در تابع
main يا ساير توابع وجود دارد. اين راهکار پيش
تعريف توابع می باشد. پيش تعريف تابع به صورت زير می باشد:
نوع آرگومانهای تابع ) نام تابع نوع داده خروجی );
توجه داشته باشيد که پيش تعريف تابع شامل دستورات تابع نمی شود و تنها شامل نوع
داده خروجی ، نام تابع و نوع آرگومانها می باشد و در پايان نياز به علامت (;)
دارد. به عنوان مثال پيش تعريف تابع
power2
در مبحث قبلی به صورت زير می باشد:
ويا پيش تعريف تابع
maximum به صورت زير است :
int maximum( int, int, int );
در اينجا برنامه تابع
maximum در مبحث قبلی را با روش پيش تعريف تابع
باز نويسی می کنيم :
#include <iostream.h>
int maximum (int ,int,int);
int main ()
{
int num1,num2,num3;
cout << "Enter three numbers: ";
cin >> num1>>num2>>num3;
cout << "Max is :"
<< maximum(num1,num2,num3)<<endl;
cout << "Max of 5,20,1 is "
<< maximum(5,20,1)<<endl;
return 0;
}
int maximum (int x,int y, int z)
{
int max=x;
if (y>max)
max=y;
if (z>max)
max=z;
return max;
}
Enter three numbers: -5 20 150
Max is :150
Max of 5,20,1 is 20
همانطور که در برنامه می بينيد، تابع
main
قبل از تابع
maximum نوشته شده است و اين امکانی است که پيش
تعريف تابع
maximum به ما داده است.
نکته:
در بعضی از برنامه ها، نياز پيدا می کنيم که دو تابع يکديگر را فراخوانی کنند.
در چنين حالتی ملزم به استفاده از پيش تعريف تابع می باشيم. اما به عنوان يک
توصيه برنامه نويسی همواره از پيش تعريف توابع استفاده کنيد ، حتی اگر ملزم به
استفاده از آن نبوديد.
|