- •Введение в мир функций. Объявление. Вызов.
- •Синтаксис объявления
- •Первый способ: до функции main.
- •Синтаксис вызова функции.
- •Ключевое слово return
- •Передача аргументов по значению.
- •1. В функцию передаются не a и b, а их точные копии.
- •2. Все изменения происходят с копиями (Digit и Pow), при этом сами a и b остаются неизменными.
- •3. При выходе из функции временные копии уничтожаются.
- •Аргументы (параметры) по умолчанию.
Аргументы (параметры) по умолчанию.
Формальному параметру функции может быть задан аргумент по умолчанию. Это означает, что в данный аргумент значение при вызове можно не передавать. В этом случае будет использовано значение по умолчанию.
Общий синтаксис для реализации такого подхода имеет следующий вид:
тип_возвращаемого_значения имя_функции(тип_арг имя_арг=значение_по_умолчанию) |
Здесь значение_по_умолчанию и есть значение, присваиваемое аргументу, если он опущен при вызове. Разумеется, аргументов по умолчанию может быть несколько:
тип_возвращаемого_значения имя_функции(арг1=значение, арг2=значение) |
Аргументами по умолчанию могут быть аргументы, начиная с правого конца списка параметров функции и далее последовательно справа налево без перерывов.Например:
void foot (int i, int j = 7) ; //допустимо
void foot (int i, int j = 2, int k) ; //недопустимо
void foot (int i, int j = 3, int k = 7) ; //допустимо
void foot (int i = 1, int j = 2, int k = 3); //допустимо
void foot (int i=- 3, int j); //недопустимо
|
Рассмотрим пример на работу с параметрами по умолчанию.
#include <iostream> using namespaсe std;
// рисует линию из звездочек длиной count void Star(int count=20){ for(int i=0;i<count;i++) cout<<'*'; cout<<"\n\n"; }
void main(){
Star(); // показ линии из 20 звездочек Star(5); // показ линии из пяти звездочек
} |
Домашнее задание:
1. Напишите программу на C++, которая использует три определяемых пользователем функции (включая main ()) и генерирует следующий вывод:
Внимание!
Three blind mice
Three blind mice
See how they run
See how they run
Одна функция, вызываемая два раза, должна генерировать первые две строки, а другая, также вызываемая два раза — оставшиеся строки. – function_text.cpp
2. Напишите программу, в которой функция main() вызывает определяемую пользователем функцию, принимающую в качестве аргумента значение температуры по Цельсию и возвращающую эквивалентное значение температуры по Фаренгейту. Программа должна выдать запрос на ввод значения по Цельсию и отобразить следующий результат:
Please enter a Celsius value: 20
20 degrees Celsius is 68 degrees Fahrenheit.
Вот формула для этого преобразования:
Температура в градусах по Фаренгейту =
1,8 * Температура в градусах по Цельсию + 32 – temperature.cpp
Написать 2 варианта функции: с возвращаемым значением и без. Использовать аргументы по умолчанию: должен быть предусмотрен пересчет 20 градусов по Цельсию в температуру по Фаренгейту.
3. Напишите программу, которая выдает запрос на ввод значений часов и минут. Функция main () должна передать эти два значения функции, имеющей тип void, которая отобразит эти два значения в следующем виде: Enter the number of hours: 9
Enter the number of minutes: 28
Time: 9:28 – time.cpp
