Latest web development tutorials

Функция C ++

Представляет собой набор функций для выполнения миссии вместе. Каждая программа C ++ имеет по крайней мере одну функцию, которая является основной функциейMain (), все просто программа может определить другие дополнительные функции.

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

Декларация Функция указывает имя функции компилятора, тип возвращаемого значения и параметров.Определение функции обеспечивает фактическое тело функции.

C ++ Стандартная библиотека предоставляет множество встроенных функций программы можно позвонить. Например, функцияstrcat () используется для соединения двух строк, функцию тетсру ()для копирования памяти в другое место.

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

Функции, определяемые

Общая форма определения функции С ++ выглядит следующим образом:

return_type function_name( parameter list )
{
   body of the function
}

В C ++, функция состоит из функции заголовка и компонентов функции организма. Ниже перечислены все часть функции:

  • Тип возвращаемого: Функция может возвращать значение.возвращаемый_тип тип данных значения , возвращаемого функцией. Некоторые функции выполняют требуемую операцию без возвращаемого значения, в данном случае, возвращаемый_типнедействительным ключевое слово.
  • Название функции: Это фактическое имя функции.Название функции и список параметров в совокупности образуют функцию подписи.
  • Параметры: Параметры, как заполнитель.Когда функция вызывается, то передать значение параметра, это значение называется фактические параметры. Список параметров включают в себя тип параметров функции, количество заказа. Параметр не является обязательным, то есть, функция не может содержать параметры.
  • Основная функция: Тело функции содержит набор функций , определенных формулировка миссии.

примеров

Ниже приведены функциитах () в исходном коде.Эта функция принимает два параметра num1 и num2, который будет возвращать большее из двух чисел рассчитывать:

// 函数返回两个数中较大的那个数
 
int max(int num1, int num2) 
{
   // 局部变量声明
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

объявление функции

Декларация Функция указывает имя функции компилятора, и как вызвать функцию.Фактическое тело функции может быть определена индивидуально.

Декларация Функция включает в себя следующие разделы:

return_type function_name( parameter list );

Определено выше для функции (макс), следующее объявление функции:

int max(int num1, int num2);

В объявлении функции, название параметра не имеет значения, требуется только параметр типа, поэтому следующее является допустимым заявление:

int max(int, int);

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

функции обработки вызовов

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

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

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

#include <iostream>
using namespace std;
 
// 函数声明
int max(int num1, int num2);
 
int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
   int ret;
 
   // 调用函数来获取最大值
   ret = max(a, b);
 
   cout << "Max value is : " << ret << endl;
 
   return 0;
}
 
// 函数返回两个数中较大的那个数
int max(int num1, int num2) 
{
   // 局部变量声明
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

Функция макс () и функция Main () ставится кусок, компилировать исходный код. При запуске конечный исполняемый файл будет производить следующие результаты:

Max value is : 200

Аргументы функции

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

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

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

调用类型描述
传值调用 该方法把参数的实际值复制给函数的形式参数。在这种情况下,修改函数内的形式参数对实际参数没有影响。
指针调用 该方法把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
引用调用 该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。

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

Значение по умолчанию параметра

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

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

#include <iostream>
using namespace std;
 
int sum(int a, int b=20)
{
  int result;

  result = a + b;
  
  return (result);
}

int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
   int result;
 
   // 调用函数来添加值
   result = sum(a, b);
   cout << "Total value is :" << result << endl;

   // 再次调用函数
   result = sum(a);
   cout << "Total value is :" << result << endl;
 
   return 0;
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

Total value is :300
Total value is :120