برای برگرداندن مقداری از تابع به فراخواننده دستور return استفاده می شود. مقدار برگشتی تابع که به دنبال دستور return نوشته می شود بايد از همان نوعی باشد که در اعلان تابع قبل از اسم تابع معین شده است.
وقتی اجرا به دستور return می رسد از تابع خارج شده مقدار برگشتی را به فراخواننده تابع برمی گرداند. اگر تابعی مقداری را بر نمی گرداند از کلمه void استفاده کنيد. در اين صورت تابع به دستور return نياز ندارد.
تابع ممکن است دارای چند دستور return باشد تا بتواند در شرايط متفاوت مقادير مختلف را برگرداند. در اين صورت اولين دستورreturn که اجرا می شود موثر است.
مثال. برنامه زير دو عدد را از ورودی گرفته عدد بزرگتر را نمايش می دهد.
#include
int larger_of( int , int );
int main() {
int x, y, z;
cout <<"Enter two different integer values: ";
cin >> x >> y;
z = larger_of(x,y);
cout << "\nThe larger value is " << z;
return 0;
}
int larger_of( int a, int b) {
if (a > b) return a;
else return b;
}
همان طور که قبلا گفته شده است main هم يک تابع است البته با کمی تفاوت. تابع main نیازی به پروتوتایپ ندارد و اتوماتيک هنگام اجرای برنامه فراخوانی می شود و هرگز در کد برنامه صدا زده نمی شود تابع main يک عدد صحيح را می تواند برگرداند که صفر يا غيرصفر است. اگر اجرای برنامه بطور موفق به انتها رسيده باشد مقدار صفر و در غيراينصورت يک مقدار غيرصفر در مقابل دستور return نوشته می شود.