Skip to content

Commit 16f5b8f

Browse files
committed
Add functions module
1 parent 6d9da6b commit 16f5b8f

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

src/06_functions.cpp

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Исходный код программы с функциями в С++.
2+
3+
// 1. "определение" функции без входных параметров и возвращаемого значения
4+
void do_nothing() {
5+
// тело функции ...
6+
}
7+
8+
// 2. "определение" функции с 1 входным параметром без возвращаемого значения
9+
void do_nothing(int arg) {
10+
11+
if (arg > 10) {
12+
return; // "завершаем" выполнение функции
13+
}
14+
15+
// тело функции ...
16+
}
17+
18+
// 3. "объявление" функции (тело функции не определено)
19+
int do_something();
20+
21+
// Заметка: main вызывается автоматически при запуске программы (исполняемого файла).
22+
int main() {
23+
24+
// Вызываем функции и сохраняем результат.
25+
26+
do_nothing(); // 1
27+
28+
do_nothing(12); // 2
29+
30+
do_something(); // 3
31+
32+
return 0; // оператор "завершения вызова" функции
33+
}
34+
35+
// 3. "определение" ранее объявленной функции
36+
int do_something() {
37+
return 3;
38+
}
39+
40+
/*
41+
* Задания:
42+
* 1. Определите функцию, которая ничего не возвращает и принимает два входных параметра.
43+
* 2. Определите функцию, которая возвращает два и более значения (tuple). Возможно ли это?
44+
* 3. В чем разница между "объявлением" и "определением" функции?
45+
* 4. Какая функция запускается вне зависимости от того, вызываем ли мы ее?
46+
* 5. Поразмыслите, что происходит с данными, которые передаются в функцию: копирование, ссылка?
47+
*/

0 commit comments

Comments
 (0)