Функция C ++ (с примерами)

В этом руководстве мы узнаем о функциях и выражениях функций C ++ с помощью примеров.

Функция - это блок кода, который выполняет определенную задачу.

Предположим, нам нужно создать программу для создания круга и его окраски. Мы можем создать две функции для решения этой проблемы:

  • функция рисования круга
  • функция раскраски круга

Разделение сложной проблемы на более мелкие части делает нашу программу простой для понимания и повторного использования.

Есть два типа функций:

  1. Стандартные библиотечные функции: предопределены в C ++
  2. Определяемая пользователем функция: создается пользователями

В этом руководстве мы сосредоточимся в основном на пользовательских функциях.

Пользовательская функция C ++

C ++ позволяет программисту определять свои собственные функции.

Пользовательская функция группирует код для выполнения определенной задачи, и этой группе кода дается имя (идентификатор).

Когда функция вызывается из любой части программы, она выполняет коды, определенные в теле функции.

Объявление функции C ++

Синтаксис объявления функции:

 returnType functionName (parameter1, parameter2,… ) ( // function body )

Вот пример объявления функции.

 // function declaration void greet() ( cout << "Hello World"; )

Вот,

  • имя функции greet()
  • возвращаемый тип функции void
  • пустые скобки означают, что у него нет параметров
  • тело функции написано внутри ()

Примечание: мы узнаем об этом returnTypeи parametersпозже в этом руководстве.

Вызов функции

В приведенной выше программе мы объявили функцию с именем greet(). Чтобы использовать greet()функцию, нам нужно ее вызвать.

Вот как мы можем вызвать указанную выше greet()функцию.

 int main() ( // calling a function greet(); )
Как функция работает в C ++

Пример 1: отображение текста

 #include using namespace std; // declaring a function void greet() ( cout << "Hello there!"; ) int main() ( // calling the function greet(); return 0; )

Вывод

 Привет!

Параметры функции

Как упоминалось выше, функцию можно объявить с параметрами (аргументами). Параметр - это значение, которое передается при объявлении функции.

Например, давайте рассмотрим функцию ниже:

 void printNum(int num) ( cout << num; )

Здесь intномер переменной - это параметр функции.

Мы передаем значение параметру функции при вызове функции.

 int main() ( int n = 7; // calling the function // n is passed to the function as argument printNum(n); return 0; )

Пример 2: Функция с параметрами

 // program to print a text #include using namespace std; // display a number void displayNum(int n1, float n2) ( cout << "The int number is " << n1; cout << "The double number is " << n2; ) int main() ( int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); return 0; )

Вывод

 Число int - 5, двойное число - 5.5.

В приведенной выше программе мы использовали функцию с одним intпараметром и одним doubleпараметром.

Затем мы передаем num1 и num2 в качестве аргументов. Эти значения сохраняются параметрами функции n1 и n2 соответственно.

Функция C ++ с параметрами

Примечание . Тип аргументов, передаваемых при вызове функции, должен совпадать с соответствующими параметрами, определенными в объявлении функции.

Заявление о возврате

В приведенных выше программах мы использовали void в объявлении функции. Например,

 void displayNumber() ( // code )

Это означает, что функция не возвращает никакого значения.

Также возможно вернуть значение из функции. Для этого нам нужно указать returnTypeфункцию во время объявления функции.

Затем returnоператор можно использовать для возврата значения из функции.

Например,

 int add (int a, int b) ( return (a + b); )

Здесь у нас тип данных intвместо void. Это означает, что функция возвращает intзначение.

Код return (a + b);возвращает сумму двух параметров в качестве значения функции.

returnУтверждение означает , что функция закончилась. Любой код после returnвнутри функции не выполняется.

Пример 3: сложение двух чисел

 // program to add two numbers using a function #include using namespace std; // declaring a function int add(int a, int b) ( return (a + b); ) int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; )

Вывод

 100 + 78 = 178

В приведенной выше программе add()функция используется для нахождения суммы двух чисел.

Мы передаем два intлитерала 100и 78при вызове функции.

Мы сохраняем возвращаемое значение функции в переменной sum, а затем печатаем его.

Работа функции C ++ с оператором return

Обратите внимание, что сумма - это переменная intтипа. Это потому, что возвращаемое значение add()имеет intтип.

Прототип функции

In C++, the code of function declaration should be before the function call. However, if we want to define a function after the function call, we need to use the function prototype. For example,

 // function prototype void add(int, int); int main() ( // calling the function before declaration. add(5, 3); return 0; ) // function definition void add(int a, int b) ( cout << (a + b); )

In the above code, the function prototype is:

 void add(int, int);

This provides the compiler with information about the function name and its parameters. That's why we can use the code to call a function before the function has been defined.

The syntax of a function prototype is:

 returnType functionName(dataType1, dataType2,… );

Example 4: C++ Function Prototype

 // using function definition after main() function // function prototype is declared before main() #include using namespace std; // function prototype int add(int, int); int main() ( int sum; // calling the function and storing // the returned value in sum sum = add(100, 78); cout << "100 + 78 = " << sum << endl; return 0; ) // function definition int add(int a, int b) ( return (a + b); )

Output

 100 + 78 = 178

The above program is nearly identical to Example 3. The only difference is that here, the function is defined after the function call.

That's why we have used a function prototype in this example.

Benefits of Using User-Defined Functions

  • Functions make the code reusable. We can declare them once and use them multiple times.
  • Functions make the program easier as each small task is divided into a function.
  • Functions increase readability.

C++ Library Functions

Library functions are the built-in functions in C++ programming.

Programmers can use library functions by invoking the functions directly; they don't need to write the functions themselves.

Some common library functions in C++ are sqrt(), abs(), isdigit(), etc.

In order to use library functions, we usually need to include the header file in which these library functions are defined.

For instance, in order to use mathematical functions such as sqrt() and abs(), we need to include the header file cmath.

Example 5: C++ Program to Find the Square Root of a Number

 #include #include using namespace std; int main() ( double number, squareRoot; number = 25.0; // sqrt() is a library function to calculate the square root squareRoot = sqrt(number); cout << "Square root of " << number << " = " << squareRoot; return 0; )

Output

 Корень квадратный из 25 = 5

В этой программе sqrt()библиотечная функция используется для вычисления квадратного корня числа.

Объявление функции sqrt()определяется в cmathфайле заголовка. Вот почему нам нужно использовать код #include для использования sqrt()функции.

Чтобы узнать больше, посетите C ++ Функции стандартной библиотеки.

Интересные статьи...