Создание собственных функций (подпрограмм)
Чтобы легче было понимать и корректировать текст программ можно ее фрагменты выделять в отдельные подпрограммы.
Так же поступают и с повторяющимися фрагментами, содержащими ощутимое количество строк текста программы.
Такие фрагменты записывают ниже функции main() после ее последней фигурной скобки.
Им дают название, оснащают входящими и возвращаемыми аргументами и возвращаемым значением самой функции.
Пример.
Вывести в окно сообщений текст, в зависимости от кода, передаваемого в подпрограмму.
int main()
{
cout << "Строка из функции с арг. 1= " << get_string(1) << ", то же но с арг. 2 = " << get_string(2);
}
// объявление функции, принимает аргумент arg - целое число.
// возвращает строковое значение.
string get_string(int arg)
{
string sresult;
if (arg == 1) // если arg равно 1
{
sresult = "строка 1"; // то присвоить переменной sresult это значение.
}
else if (arg == 2) // если же arg равно 2
{
sresult = "строка 2";
}
else // если же ни 1 ни 2, то при любом другом значении
{
sresult = "строка N"; // присвоить переменной sresult это значение.
}
return sresult; // вернуть в качестве значения функции содержимое переменной sresult.
}
В подпрограмму могут передаваться сразу несколько переменных (аргументов). Тогда они пишутся через запятую.
Пример.
Объявить функцию, которая получает в качестве аргументов два целых и одно число с плавающей точкой, а возвращает значение с плавающей точкой.
double my_func(int a, int b, double c)
{
return 10;
}
Функции могут возвращать значения через аргументы, у которых стоит знак '&'.
Это называется ссылка.
Пример.
Передать в функцию множитель Value.
Получить из функции ширину и высоту.
int main()
{
int h,w;
myfunc(h,w,2);
cout « h « "x" « w ; // результат 2000x2000;
}
int myfunc(int &Height, int &Width, int Value)
{
Height = 2000;
Width = 1000 * Value;
return 0;
}
Благодаря тому, что текст С++ имеет высокую скорость выполнения, можно создавать любое количество собственных функций.