Главная->Інформатика та програмування->Содержание->Значение, возвращаемое функцией

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 5) онлайн

Значение, возвращаемое функцией

Когда выполнение функции завершается, она может возвратить значение про- грамме, которая ее вызвала. Как правило, возвращаемое функцией значение име- ет отношение к решению задачи, возложенной на эту функцию. Следующий при- мер демонстрирует применение функции, получающей значение веса в фунтах и возвращающей эквивалентное значение этого веса в килограммах:

// convert.cpp

// демонстрирует механизм возврата значения функцией #include <iostream> using namespace std;

float lbstokg(float);        // прототип функции

int main()           

{

float lbs, kgs;

cout << "\nВведите вес в фунтах: ";

cin >> lbs;

kgs = lbstokg(lbs);

cout << "Вес в килограммах равен " << kgs << endl; return 0;

}

 //--------------------------------------------------------

// функция lbstokg() // переводит фунты в килограммы

float lbstokg( float pounds ) {

float kilograms = 0.453592 * pounds; return kilograms;

}

 

Результат работы программы может выглядеть следующим образом:

Введите вес в фунтах: 182

Вес в килограммах равен 82.553741

 

В случае, если функция возвращает значение, тип этого значения должен быть определен. Тип возвращаемого значения указывается перед именем функции при объявлении и определении функции. В нашем последнем примере функция lbstokg() возвращает значение типа float, что отражено в ее объявлении:

float lbstokg(float);

Первое слово float означает, что функция lbstokg() возвращает значение типа float, а слово float, заключенное в скобках, указывает на наличие у функции lbstokg() одного аргумента типа float.

В более ранних наших примерах функции не возвращали значения, поэто- му перед именами таких функций вместо названия типа находилось ключевое слово void.

Если функция возвращает значение, то вызов функции рассматривается как выражение, значение которого равно величине, возвращаемой функцией. Мы можем использовать это выражение аналогично любым другим выражениям; например, мы можем присвоить его значение переменной:

kgs = lbstokg(lbs);

Здесь переменной kgs присваивается значение, возвращенное функцией lbstokg().

 

14