C++ Функции с примерни програми
⚡ Умно обобщение
Функции в C++ групират свързани оператори в многократно използваеми именувани блокове, които приемат входни данни, обработват ги и връщат изходни данни. Програмите комбинират вградени библиотечни функции и потребителски дефинирани функции, всяка от които е декларирана, дефинирана и извикана, за да се избегне повтаряне на код.

Какво е функция в C++?
Функция в C++ се отнася до група изрази, които приемат входни данни, обработват ги и връщат изходни данни. Идеята зад функцията е да комбинира общи задачи, които се изпълняват многократно. Ако имате различни входове, няма да напишете същия код отново. Вие просто ще извикате функцията с различен набор от данни, наречени параметри.
Всеки C++ програмата има поне една функция, функцията main(). Можете да разделите кода си на различни функции. Това разделение трябва да е такова, че всяка функция да изпълнява специфична задача.
Има много вградени функции в C++ стандартна библиотека. Можете да извикате тези функции във вашата програма.
Защо да използвате функции?
Има много предимства, свързани с използването на функциите. Те включват:
- Всяка функция обединява свързан код. Това улеснява програмистите да разбират кода.
- Функциите улесняват програмирането, като елиминират повторението на кода.
- Функциите улесняват повторното използване на кода. Можете да извикате една и съща функция, за да изпълните задача в различни раздели на програмата или дори извън програмата.
Вградени функции
In C++, библиотечните функции са вградени C++ функции. За да използвате тези функции, просто ги извиквате/извиквате директно. Не е нужно сами да пишете функциите.
Пример 1:
#include <iostream> #include <cmath> using namespace std; int main() { double num, squareRoot; cout << "Enter number: "; cin >> num; squareRoot = sqrt(num); cout << "The square root of " << num << " is: " << squareRoot; return 0; }
Изход:
Ето екранна снимка на кода:
Code Обяснение:
- Включете заглавния файл на iostream в нашата програма, за да използвате неговите функции.
- Включете библиотеката cmath, за да използвате нейните функции. Искаме да използваме дефинираната в него функция sqrt().
- Включете пространството от имена std в нашия код, за да използвате неговите класове, без да го извиквате.
- Извикайте функцията main(). Логиката на програмата трябва да се добави в тялото на тази функция.
- Декларирайте две двойни променливи, num и squareRoot.
- Отпечатайте малко текст на конзолата. Текстът изисква от потребителя да въведе число.
- Прочетете въвеждането на потребителя от клавиатурата. Входът ще стане стойността на променлива num.
- Извикайте библиотечната функция sqrt(), която изчислява корен квадратен от число. Предадохме параметъра num на функцията, което означава, че тя ще изчисли корен квадратен от num. Тази функция е дефинирана в библиотеката cmath.
- Отпечатайте числото, въведено от потребителя, неговия квадратен корен и някакъв друг текст на конзолата.
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на функцията main().
Дефинирани от потребителя функции
C++ позволява на програмистите да дефинират свои собствени функции. Целта на функцията е да групира свързан код. След това на кода се дава уникален идентификатор, името на функцията.
Функцията може да бъде извикана/извикана от всяка друга част на програмата. След това ще изпълни кода, дефиниран в тялото му.
Пример 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Изход:
Ето екранна снимка на кода:
Code Обяснение:
- Включете заглавния файл на iostream в нашата програма, за да използвате неговите функции.
- Включете пространството от имена std в нашия код, за да използвате неговите класове, без да го извиквате.
- Създайте дефинирана от потребителя функция с име sayHello().
- Отпечатайте малко текст на конзолата, когато се извика функцията sayHello().
- Край на тялото на функцията sayHello().
- Извикайте функцията main(). Логиката на програмата трябва да се добави в тялото на тази функция.
- Извикайте/извикайте функцията с име sayHello().
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на функцията main().
Компилаторът трябва да познава функцията, преди да я използва.
Декларация/прототип на функция
Ако дефинирате дефинирана от потребителя функция след функцията main(), функцията C++ компилатор ще върне грешка. Причината е, че компилаторът не знае подробностите за дефинираната от потребителя функция. Подробностите включват неговото име, типовете аргументи и техните връщани типове.
In C++, декларацията/прототипът на функцията декларира функция без тяло. Това дава на компилатора подробности за дефинираната от потребителя функция.
В декларацията/прототипа включваме връщания тип, името на функцията и типовете аргументи. Имената на аргументите не се добавят. Добавянето на имената на аргументите обаче не генерира грешка.
Определение на функцията
Целта на декларацията на функцията е да каже на C++ компилатор за името на функцията, типа на връщането и параметрите. Дефиницията на функцията казва на C++ компилатор за тялото на функцията.
Синтаксис
return_datatype function_name( parameters) {
function body
}
От горното дефиницията на функция има заглавката и тялото на функцията. Ето обяснение на параметрите:
- return_datatype - Някои функции връщат стойност. Този параметър обозначава типа данни на връщаната стойност. Някои функции не връщат стойност. В този случай стойността на този параметър става void.
- function_name- Това е името на функцията. Името и параметрите на функцията формират сигнатурата на функцията.
- Параметри - Това е типът, редът и броят на параметрите на функцията. Някои функции нямат параметри.
- тяло на функцията - това са изрази, определящи какво ще направи функцията.
Извикване на функция
За да може дадена функция да изпълни определената задача и да върне резултат, тя трябва да бъде извикана. Когато извикате функция, тя изпълнява операторите, добавени в нейното тяло.
Функцията се извиква по името си. Ако функцията приема параметри, техните стойности трябва да се предадат по време на извикването. Ако функцията не приема параметри, не предавайте никаква стойност по време на извикването.
Предаване на аргументи
In C++, аргумент/параметър са данните, предадени на функция по време на нейното извикване. Стойностите трябва да бъдат инициализирани към съответните им променливи.
Когато извиквате функция, аргументите трябва да съвпадат по брой. Това означава, че стойностите, които предавате, трябва да са равни на броя на параметрите. Отново, стойностите също трябва да съвпадат с параметрите по тип. Ако първият параметър е цяло число, стойността, която му се предава, трябва да е цяло число.
На параметрите на функцията могат да се зададат стойности по подразбиране. Ако не подадете стойност за параметъра по време на извикването на функцията, ще се използва стойността по подразбиране.
Пример 3: Как да напишете и извикате функция
#include <iostream> using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout << "Enter two numbers: "; cin >> x >> y; sum = addFunc(x, y); cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum; return 0; } int addFunc(int num1, int num2) { int addFunc; addFunc = num1 + num2; return addFunc; }
Изход:
Ето екранна снимка на кода:
Code Обяснение:
- Включете заглавния файл на iostream в нашата програма, за да използвате неговите функции.
- Включете пространството от имена std в нашия код, за да използвате неговите класове, без да го извиквате.
- Декларирайте функция с име addFunc(), която приема два целочислени параметъра. Това създава прототипа на функцията.
- Извикайте функцията main(). Логиката на програмата трябва да се добави в тялото на тази функция.
- Декларирайте три цели променливи, x, y и сума.
- Отпечатайте малко текст на конзолата. Текстът изисква от потребителя да въведе две числа.
- Прочетете въвеждането на потребителя от клавиатурата. Потребителят трябва да въведе две числа за променливите x и y, разделени с интервал.
- Извикайте функцията addFunc() и й предайте параметрите x и y. Функцията ще работи с тези параметри и ще присвои изхода на променливата сума.
- Отпечатайте стойностите на променливите x, y и sum на конзолата заедно с друг текст.
- Функцията трябва да върне стойност при успешно завършване.
- Край на тялото на функцията main().
- Дефиниция на функцията. Ние дефинираме функцията addFunc(). Ще посочим какво ще прави функцията в тялото си, {}.
- Деклариране на целочислена променлива с име addFunc.
- Добавяне на стойностите на параметрите num1 и num2 и присвояване на резултата на променлива addFunc.
- Функцията addFunc() трябва да върне стойността на променливата addFunc.
- Край на тялото на функцията, тоест дефиницията на функцията.






