C ++ - funktioner med exempel

Vad är en funktion i C ++?

TILL fungera i C ++ hänvisar till en grupp uttalanden som tar in, bearbetar den och returnerar en utgång. Tanken bakom en funktion är att kombinera vanliga uppgifter som görs upprepade gånger. Om du har olika ingångar skriver du inte samma kod igen. Du kommer helt enkelt att kalla funktionen med en annan uppsättning data som kallas parametrar.

Varje C ++ - program har minst en funktion, huvudfunktionen (). Du kan dela upp din kod i olika funktioner. Denna uppdelning bör vara sådan att varje funktion utför en specifik uppgift.

Det finns många inbyggda funktioner i standardbiblioteket C ++. Du kan anropa dessa funktioner i ditt program.

I denna C ++ handledning lär du dig:

Varför använda funktioner?

Det finns många fördelar med användning av funktioner. Dessa inkluderar:

  • Varje funktion sätter ihop relaterad kod. Detta gör det lättare för programmerare att förstå kod.
  • Funktioner gör programmeringen enklare genom att eliminera kodrepetition.
  • Funktioner underlättar återanvändning av kod. Du kan ringa samma funktion för att utföra en uppgift på olika delar av programmet eller till och med utanför programmet.

Inbyggda funktioner

I C ++ finns biblioteksfunktioner inbyggda C ++-funktioner. För att använda dessa funktioner kan du helt enkelt anropa/ringa dem direkt. Du behöver inte skriva funktionerna själv.

Exempel 1:

 #include #include using namespace std; int main() { double num, squareRoot; cout <> num; squareRoot = sqrt(num); cout << 'The square root of ' << num << ' is: ' << squareRoot; return 0; } 

Produktion:

Här är en skärmdump av koden:

Kodförklaring:

  1. Inkludera iostream header -filen i vårt program för att använda dess funktioner.
  2. Inkludera cmath -biblioteket för att använda dess funktioner. Vi vill använda funktionen sqrt () som definieras i den.
  3. Inkludera std -namnutrymmet i vår kod för att använda dess klasser utan att kalla det.
  4. Ring huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
  5. Deklarera två dubbla variabler, num och squareRoot.
  6. Skriv ut lite text på konsolen. Texten ber användaren att ange ett nummer.
  7. Läs användarinmatning från tangentbordet. Ingången blir värdet för variabel num.
  8. Ring biblioteksfunktionen sqrt (), som beräknar kvadratroten för ett tal. Vi skickade parametern num till funktionen, vilket betyder att den kommer att beräkna kvadratroten av num. Denna funktion definieras i cmath -biblioteket.
  9. Skriv ut det nummer som användaren har angett, dess kvadratrot och annan text på konsolen.
  10. Programmet måste returnera värde när det har slutförts.
  11. Slutet på huvudfunktionen ().

Användardefinierade funktioner

C ++ tillåter programmerare att definiera sina egna funktioner. Syftet med funktionen är att gruppera relaterad kod. Koden ges sedan en unik identifierare, funktionsnamnet.

Funktionen kan anropas/åberopas från någon annan del av programmet. Den kommer sedan att köra koden som definieras i sin kropp.

Exempel 2:

 #include using namespace std; void sayHello() { cout << 'Hello!'; } int main() { sayHello(); return 0; } 

Produktion:

Här är en skärmdump av koden:

Kodförklaring:

  1. Inkludera iostream header -filen i vårt program för att använda dess funktioner.
  2. Inkludera std -namnutrymmet i vår kod för att använda dess klasser utan att kalla det.
  3. Skapa en användardefinierad funktion med namnet sayHello ().
  4. Skriv ut lite text på konsolen när funktionen sayHello () kallas.
  5. Slutet på funktionen sayHello ().
  6. Ring huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
  7. Ring/åk på funktionen som heter sayHello ().
  8. Programmet måste returnera värde när det har slutförts.
  9. Slutet på huvudfunktionen ().

Funktionsdeklaration/prototyp

Om du definierar en användardefinierad funktion efter huvudfunktionen () returnerar C ++-kompilatorn ett fel. Anledningen är att kompilatorn inte känner till detaljerna i den användardefinierade funktionen. Detaljerna inkluderar dess namn, typer av argument och deras returtyper.

I C ++ deklarerar funktionsdeklarationen/prototypen en funktion utan kropp. Detta ger kompilatören detaljer om den användardefinierade funktionen.

I deklarationen/prototypen inkluderar vi returtypen, funktionsnamnet och argumenttyperna. Namnen på argument läggs inte till. Att lägga till argumentnamnen genererar dock inget fel.

Funktionsdefinition

Syftet med funktionsdeklarationen är att berätta för C ++ - kompilatorn om funktionsnamnet, returtypen och parametrarna. En funktionsdefinition berättar C ++ - kompilatorn om funktionskroppen.

Syntax:

 return_datatype function_name( parameters) { function body } 

Från ovanstående har en funktionsdefinition funktionshuvud och kropp. Här är en förklaring av parametrarna:

  • return_datatype- Vissa funktioner returnerar värde. Denna parameter anger datatypen för returvärdet. Vissa funktioner returnerar inte värde. I så fall blir värdet på denna parameter ogiltigt.
  • function_name- Detta är namnet på funktionen. Funktionsnamnet och parametrarna bildar funktionssignaturen.
  • Parametrar- Detta är typen, ordningen och antalet funktionsparametrar. Vissa funktioner har inga parametrar.
  • funktionskropp- det här är uttalanden som definierar vad funktionen kommer att göra.

Funktionssamtal

För att en funktion ska kunna utföra den angivna uppgiften och returnera utdata måste den anropas. När du anropar en funktion utför den de uttalanden som läggs till i kroppen.

Ett program kallas vid sitt namn. Om funktionen tar parametrar, bör deras värden skickas under samtalet. Om tjänsten inte tar några parametrar ska du inte skicka något värde under samtalet.

Passande argument

I C ++ är ett argument/parameter data som skickas till en funktion under dess samtal. Värdena måste initialiseras till sina respektive variabler.

När du anropar en funktion måste argumenten matcha i antal. Medelvärdena som du skickar måste vara lika med antalet parametrar. Återigen måste värdena också matcha parametrarna när det gäller typ. Om den första parametern är ett heltal måste värdet som skickas till det vara ett heltal.

Man kan tilldela standardvärden till funktionsparametrar. Om du inte skickar ett värde för parametern under funktionsanropet kommer standardvärdet att användas.

Exempel 3: Hur man skriver och anropar en funktion

 #include using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout <> x >> y; sum = addFunc(x, y); cout <<'The sum of '<

Produktion:

Här är en skärmdump av koden:

Kodförklaring:

  1. Inkludera iostream header -filen i vårt program för att använda dess funktioner.
  2. Inkludera std -namnutrymmet i vår kod för att använda dess klasser utan att kalla det.
  3. Deklarera en funktion som heter addFunc () som tar två heltalsparametrar. Detta skapar funktionsprototypen.
  4. Ring huvudfunktionen (). Programlogiken bör läggas till i denna funktion.
  5. Deklarera tre heltalsvariabler, x, y och summa.
  6. Skriv ut lite text på konsolen. Texten ber användaren att ange två nummer.
  7. Läs användarinmatningen från tangentbordet. Användaren ska ange två tal för variablerna x och y, separerade med mellanslag.
  8. Anropa funktionen addFunc () och skicka parametrarna x och y till den. Funktionen kommer att fungera på dessa parametrar och tilldela utsignalen till den variabla summan.
  9. Skriv ut värdena för variablerna x, y och summan på konsolen tillsammans med annan text.
  10. Funktionen måste returnera värdet när den har slutförts.
  11. Slutet på huvudfunktionen ().
  12. Funktionsdefinition. Vi definierar funktionen addFunc (). Vi kommer att ange vad funktionen kommer att göra i kroppen, {}.
  13. Deklarerar en heltalsvariabel som heter addFunc.
  14. Lägga till värdena för parametrarna num1 och num2 och tilldela resultatet till variabel addFunc.
  15. AddFunc () -funktionen ska returnera värdet för variabeln addFunc.
  16. Slutet på funktionskroppen, det vill säga funktionsdefinitionen.

Sammanfattning:

  • En funktion i C ++ hjälper dig att gruppera relaterad kod i en.
  • Funktioner underlättar återanvändning av kod.
  • Istället för att skriva liknande kod, om och om igen, grupperar du den helt enkelt i en funktion. Du kan sedan ringa funktionen var som helst inom koden.
  • Funktioner kan vara bibliotek eller användardefinierade.
  • Biblioteksfunktioner är de funktioner som är inbyggda i olika C ++-funktioner.
  • För att använda biblioteksfunktioner inkluderar du helt enkelt dess definitionsbibliotek och kallar funktionen. Du definierar inte funktionen.
  • Användardefinierade funktioner är de funktioner du definierar som C ++ programmerare.
  • En funktionsdeklaration berättar kompilatorn om funktionsnamnet, returtypen och parametertyperna.
  • En funktionsdefinition lägger till funktionens kropp.
  • Om en funktion tar parametrar bör deras värden skickas under funktionssamtalet.