Latest web development tutorials

funzione C ++

È un insieme di funzioni per eseguire una missione insieme. Ogni programma C ++ ha almeno una funzione, che è la principale funzionemain (), tutto semplice programma può definire altre funzioni aggiuntive.

È possibile inserire il codice in funzioni diverse. Come dividere il codice in funzioni separate sta a voi decidere, ma logicamente diviso solito svolgere ogni funzione in base a un compito specifico da svolgere.

dichiarazione di funzione indica il nome funzione di compilazione, tipo di ritorno e il parametro.definizione di funzione fornisce il corpo reale della funzione.

Libreria standard C ++ fornisce un sacco di funzioni built-in del programma può chiamare. Ad esempio, la funzionestrcat () è utilizzato per collegare due stringhe, la funzione memcpy ()per copiare la memoria in un'altra posizione.

Ci sono molti funzione viene chiamata, quali metodi, procedure o subroutine, e così via.

Funzioni definite

La forma generale di C ++ definizione di funzione è la seguente:

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

In C ++, funzione consiste di un'intestazione funzione e una funzione di componenti del corpo. Di seguito sono elencati tutti parte di una funzione:

  • Tipo restituito: una funzione può restituire un valore.return_type è il tipo di dati del valore restituito dalla funzione. Alcune funzioni eseguire l'operazione desiderata, senza il valore di ritorno, in questo caso,nulla return_type parola chiave.
  • Nome funzione: Questo è il nome effettivo della funzione.Nome funzione e lista di parametri costituiscono insieme la firma della funzione.
  • Parametri: Parametro è come un segnaposto.Quando la funzione viene chiamata, si passa un valore per il parametro, questo valore è chiamato i parametri attuali. Lista dei parametri includono il tipo di parametri di funzionamento, la quantità di ordine. Il parametro è facoltativo, vale a dire, la funzione non può contenere parametri.
  • Funzione principale: corpo della funzione contiene una serie di funzioni definite missione.

Esempi

Di seguito sono la funzionemax () nel codice sorgente.Questa funzione prende due parametri num1 e num2, che riporterà il più grande dei due numeri contano:

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

dichiarazione di funzione

dichiarazione di funzione indica il nome funzione di compilazione, e come chiamare la funzione.Il corpo stesso della funzione può essere definita singolarmente.

dichiarazione di funzione include le seguenti sezioni:

return_type function_name( parameter list );

Sopra definiti per la funzione max (), la seguente è una dichiarazione di funzione:

int max(int num1, int num2);

Nella dichiarazione di funzione, il nome del parametro non è importante, è richiesta solo il parametro di tipo, quindi la seguente è una dichiarazione valida:

int max(int, int);

Quando si definisce una funzione in un file di origine e chiama una funzione in un altro file, è necessario il dichiarazione di funzione. In questo caso, si dovrebbe chiamare la parte superiore della funzione di dichiarazione di funzione di file.

funzioni di chiamata

Quando si crea una funzione C ++ che definisce quali funzioni fanno, e poi per completare l'operazione chiamando la funzione è stato definito.

Quando un programma chiama una funzione, il controllo del programma viene trasferito alla funzione chiamata. Quando la funzione esegue i compiti definiti che vengono richiamati quando l'istruzione di ritorno della funzione viene eseguita, o raggiungere la funzione staffa fine, il programma restituirà il controllo al programma principale.

Quando si chiama la funzione, passando i parametri richiesti, se la funzione restituisce un valore, è possibile memorizzare il valore di ritorno. Ad esempio:

#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; 
}

La funzione max () e la funzione main () viene messo un pezzo, compilare il codice sorgente. Quando si esegue il file eseguibile finale produrrà i seguenti risultati:

Max value is : 200

Argomenti funzione

Se si desidera utilizzare il parametro della funzione, è necessario dichiarare una variabile di accettare i valori dei parametri. Queste variabili sono noti comeparametri formali della funzione.

Come altre forme di parametri variabili locali all'interno della funzione si viene a creare quando si entra in funzione, uscire dalla funzione viene distrutto.

Quando la funzione viene chiamata, ci sono due modi per passare parametri a una funzione:

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

Per impostazione predefinita, C ++ utilizzando lachiamata-by per passare i parametri.Generalmente, questo significa che il codice all'interno della funzione non può cambiare i parametri utilizzati per chiamare la funzione. Gli esempi citati prima, chiamare la funzione max () quando si utilizza lo stesso metodo.

Il valore predefinito del parametro

Quando si definisce una funzione, è possibile specificare un valore predefinito per ogni parametro nell'elenco dei parametri dietro. Quando la funzione viene chiamata, se il valore del parametro attuale viene lasciato vuoto, quindi utilizzare i valori di default.

Questo viene fatto usando l'operatore di assegnazione per assegnare la definizione di funzione come parametro. Quando la funzione viene chiamata, se il valore del parametro non è passato, si utilizzerà il valore predefinito se viene specificato un valore, il valore predefinito viene ignorato, utilizzando il valore passato. Considerate i seguenti esempi:

#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;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Total value is :300
Total value is :120