ارزش های بازگشتی(Return Values)

کلید واژه void که در مثال‌های بالا استفاده شده است، نشان می‌دهد که
تابع نباید مقداری را برگرداند. اگر شما
می‌خواهید تابع مقداری را برگرداند، می‌توانید از یک نوع داده استفاده کنید (مانند int،
رشته و غیره) به جای void، و از استفاده کنید بازگشت
کلمه کلیدی داخل تابع:




مثال



int myFunction(int x) {
  return 5
+ x;
}

int main() {
  cout << myFunction(3);
 
return 0;
}

// Outputs
8 (5 + 3)





این مثال مجموع یک تابع را با دو پارامتر برمی‌گرداند:




مثال



int myFunction(int x, int y) {
  return x + y;
}

int main()
{
  cout << myFunction(5, 3);
  return 0;
}


// Outputs 8 (5 + 3)





همچنین می‌توانید نتیجه را در یک متغیر ذخیره کنید:




مثال



int myFunction(int x, int y) {
  return x + y;
}

int main() {
 
int z = myFunction(5, 3);
  cout << z;
  return 0;
}

// Outputs 8 (5 + 3)








در مثال‌های بالا، زمانی که پارامترها را به آن منتقل می‌کردیم، از متغیرهای عادی استفاده می‌کردیم
یک تابع همچنین می‌توانید یک مرجع را به آن ارسال کنید
کارکرد. این می تواند زمانی مفید باشد که شما نیاز به تغییر مقدار آرگومان ها دارید:




مثال



void swapNums(int &x, int &y) {
  int z = x;
  x = y;
 
y = z;
}

int main() {
 
int firstNum = 10;
  int secondNum = 20;

  cout <<
"Before swap: " << "n";
  cout << firstNum << secondNum << "n";


  // Call the function, which will change the values of firstNum
and secondNum
  swapNums(firstNum, secondNum);

  cout << "After swap:
" << "n";
  cout << firstNum << secondNum << "n";

 
return 0;
}