فهرست موضوعات





سایت های مرتبط


عضویت | ورود

مقادیر بازگشتی توابع

بسیاری از توابع کتابخانه ای ++c که از آنها استفاده خواهید کرد مقداری بر می گردانند . مثلا تابع abs() که پیش از این از آنها استفاده کردیم ، قدر مطلق مقدار آرگومان خود را بر می گرداند . همچنین توابعی که خود شما می نویسید ممکن است مقادیری به روتین فراخواننده خود بر گردانند . در ++c ، توابع با استفاده از دستور return یک مقدار را بر می گردانند . شکل کلی این دستور به صورت زیر است :
return value در اینجا value همان مقداری است که قرار است بازگردانده شود .
به منظور فهم دقیق تر این موضوع تابع AreaOfTriangle() به جای نمایش دادن اندازه مساحت مثلث > مقدار آن را بر مب گرداند . توجه کنید که با قرار دادن این تابع در سمت راست یک دستور نسبت دهی ، آن مقدار بازگشتی به یک متغیر نسبت داده خواهد شد .
 //Returning a value .
 #include<iostream.h>
 
 int AreaOfTriangle(int base , int height);
 
 main()
 {
    int area;
    area=AreaOfTriangle(9 , 12)    //assign return value
    return 0 ;
 }  
 
  int AreaOfTriangle(int base , int height)
 {
    return base * height / 2 ;
 }   
  
در این مثال ، AreaOfTriangle() با استفاده از دستور return مقدار base * height / 2 را بر می گرداند . این مقدار سپس به متغیر area نسبت داده می شود . یعنی مقداری که دستور return بر می گرداند در روتین فراخواننده به مقدار تابع AreaOfTriangle() تبدیل می شود .
از آنجایی که اکنون AreaOfTriangle() یک مقدار باز می گرداند ، دیگر پیش از آن کلید واژه void قرار داده نشده است . ( به خاطر داشته باشید که فقط وقتی از void استفاده می شود که از آن تابع مقداری برنگرداند .) در عوض پیش از نام این تابع ، نوع داده int نوشته شده است . عینا همانطور که متغیرهایی از انواع گوناگون وجود دارد ، مقادیر بازگشتی متفاوتی نیز وجود دارند . در این مورد ، AreaOfTriangle() داده ای از نوع صحیح (integer) بر می گرداند . هم در پیش الگو (prototype) و هم در تعریف (definition) یک تابع ، نوع مقدار بازگشتی آن تابع قبل از نام آن آورده می شود .
در زمان معرفی یک تابع اگر نوع مقدار بارزگشتی آن مشخص نگردد ، در آن صورت فرض می شود که آن تابع یک مقدار صحیح باز خواهد گرداند .

 در برنامه های حرفه ای ++c ، در توابعی که مقدار صحیح بر می گردانند به ندرت صراحتا int را مشخص می سازند . صرفا به این خاطر که پیش فرض همان int است .

این امکان وجود دارد که تابعی را با یک دستور return و بدون ذکر هیچ مقداری به همراه آن خاتمه دهید . اما این نحوه استفاده از return تنها در توابعی می تواند به کار گرفته شود که دارای مقدار بازگشتی نبوده و با void معرفی شده باشند .











 مقالات
 لینکدونی
home | ozviat | gallery | about us | contact us | site map