C++ Функции с примерни програми
Какво е функция в C++?
A функция in 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; }
Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включете заглавния файл на 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; }
Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включете заглавния файл на iostream в нашата програма, за да използвате неговите функции.
- Включете пространството от имена std в нашия код, за да използвате неговите класове, без да го извиквате.
- Създайте дефинирана от потребителя функция с име sayHello().
- Отпечатайте малко текст на конзолата, когато се извика функцията sayHello().
- Край на тялото на функцията sayHello().
- Извикайте функцията main(). Логиката на програмата трябва да се добави в тялото на тази функция.
- Извикайте/извикайте функцията с име sayHello().
- Програмата трябва да върне стойност при успешно завършване.
- Край на тялото на функцията main().
Декларация/прототип на функция
Ако дефинирате дефинирана от потребителя функция след функцията main(), функцията C++ компилатор ще върне грешка. Причината е, че компилаторът не знае подробностите за дефинираната от потребителя функция. Подробностите включват неговото име, типовете аргументи и техните връщани типове.
In C++, декларацията/прототипът на функцията декларира функция без тяло. Това дава на компилатора подробности за дефинираната от потребителя функция.
В декларацията/прототипа включваме връщания тип, името на функцията и типовете аргументи. Имената на аргументите не се добавят. Добавянето на имената на аргументите обаче не генерира грешка.
Определение на функцията
Целта на декларацията на функцията е да каже на C++ компилатор за името на функцията, типа на връщането и параметрите. Дефиницията на функцията казва на C++ компилатор за тялото на функцията.
Синтаксис
return_datatype function_name( parameters) { function body }
От горното дефиницията на функция има заглавката и тялото на функцията. Ето обяснение на параметрите:
- return_datatype- Някои функции връщат стойност. Този параметър обозначава типа данни на върнатата стойност. Някои функции не връщат стойност. В този случай стойността на този параметър става невалидна.
- 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; }
Изход:
Ето екранна снимка на кода:
Обяснение на кода:
- Включете заглавния файл на iostream в нашата програма, за да използвате неговите функции.
- Включете пространството от имена std в нашия код, за да използвате неговите класове, без да го извиквате.
- Декларирайте функция с име addFunc(), която приема два целочислени параметъра. Това създава прототипа на функцията.
- Извикайте функцията main(). Логиката на програмата трябва да се добави в тялото на тази функция.
- Декларирайте три цели променливи, x, y и сума.
- Отпечатайте малко текст на конзолата. Текстът изисква от потребителя да въведе две числа.
- Прочетете въвеждането на потребителя от клавиатурата. Потребителят трябва да въведе две числа за променливите x и y, разделени с интервал.
- Извикайте функцията addFunc() и й предайте параметрите x и y. Функцията ще работи с тези параметри и ще присвои изхода на променливата сума.
- Отпечатайте стойностите на променливите x, y и sum на конзолата заедно с друг текст.
- Функцията трябва да върне стойност при успешно завършване.
- Край на тялото на функцията main().
- Дефиниция на функцията. Ние дефинираме функцията addFunc(). Ще посочим какво ще прави функцията в тялото си, {}.
- Деклариране на целочислена променлива с име addFunc.
- Добавяне на стойностите на параметрите num1 и num2 и присвояване на резултата на променлива addFunc.
- Функцията addFunc() трябва да върне стойността на променливата addFunc.
- Край на тялото на функцията, тоест дефиницията на функцията.
Oбобщение
- Функция в C++ ви помага да групирате свързан код в един.
- Функциите улесняват повторното използване на кода.
- Вместо да пишете подобен код отново и отново, вие просто го групирате във функция. След това можете да извикате функцията от всяко място в кода.
- Функциите могат да бъдат библиотечни или дефинирани от потребителя.
- Функциите на библиотеката са различни вградени функции C++ функции.
- За да използвате библиотечните функции, просто включвате нейната библиотека с дефиниции и извиквате функцията. Вие не дефинирате функцията.
- Дефинираните от потребителя функции са функциите, които дефинирате като a C++ програмист.
- Декларацията на функция казва на компилатора за името на функцията, типа на връщането и типовете параметри.
- Дефиницията на функция добавя тялото на функцията.
- Ако дадена функция приема параметри, техните стойности трябва да бъдат предадени по време на извикването на функцията.