Funktsioon C ++ (koos näidetega)

Selles õpetuses õpime näidete abil funktsiooni C ++ ja funktsiooni avaldisi.

Funktsioon on koodiplokk, mis täidab konkreetset ülesannet.

Oletame, et ringi loomiseks ja selle värvimiseks peame looma programmi. Selle probleemi lahendamiseks saame luua kaks funktsiooni:

  • funktsioon ringi joonistamiseks
  • funktsioon ringi värvimiseks

Keerulise probleemi jagamine väiksemateks tükkideks muudab meie programmi hõlpsasti mõistetavaks ja korduvkasutatavaks.

On kahte tüüpi funktsioone:

  1. Raamatukogu standardfunktsioonid: eelnevalt määratletud C ++ keeles
  2. Kasutaja määratud funktsioon: loodud kasutajate poolt

Selles õpetuses keskendume peamiselt kasutaja määratud funktsioonidele.

C ++ Kasutaja määratud funktsioon

C ++ võimaldab programmeerijal ise oma funktsiooni määratleda.

Kasutaja määratletud funktsioon rühmitab koodi konkreetse ülesande täitmiseks ja sellele koodirühmale antakse nimi (identifikaator).

Kui funktsiooni käivitatakse programmi mis tahes osast, täidab see kõik funktsiooni kehas määratletud koodid.

C ++ funktsioonideklaratsioon

Funktsiooni deklareerimise süntaks on järgmine:

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

Siin on näide funktsiooni deklaratsioonist.

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

Siin,

  • funktsiooni nimi on greet()
  • funktsiooni tagastustüüp on void
  • tühjad sulgud tähendavad, et sellel pole parameetreid
  • sees on funktsiooni keha ()

Märkus. Me õpime sellest juhendist hiljem returnTypeja parametershiljem.

Funktsiooni kutsumine

Eespool nimetatud programmis oleme kuulutanud funktsiooni nimega greet(). Funktsiooni kasutamiseks greet()peame sellele helistama.

Nii saame ülaltoodud greet()funktsiooni kutsuda .

 int main() ( // calling a function greet(); )
Kuidas funktsioon töötab C ++ keeles

Näide 1: teksti kuvamine

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

Väljund

 Tere seal!

Funktsioonide parameetrid

Nagu eespool mainitud, saab funktsiooni deklareerida parameetritega (argumentidega). Parameeter on väärtus, mis edastatakse funktsiooni deklareerimisel.

Vaatleme näiteks järgmist funktsiooni:

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

Siin on intmuutuja arv funktsiooni parameeter.

Funktsiooni kutsumisel edastame väärtuse funktsiooni parameetrile.

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

Näide 2: funktsioon parameetritega

 // 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; )

Väljund

 Int number on 5 Topeltarv on 5,5

Ülaltoodud programmis oleme kasutanud funktsiooni, millel on üks intparameeter ja üks doubleparameeter.

Seejärel edastame argumentidena num1 ja num2. Need väärtused salvestatakse vastavalt funktsiooni parameetritega n1 ja n2.

C ++ funktsioon koos parameetritega

Märkus. Funktsiooni kutsumisel edastatud argumentide tüüp peab vastama funktsiooni deklaratsioonis määratletud parameetritele.

Tagasi avaldus

Eespool nimetatud programmides oleme funktsiooni deklaratsioonis kasutanud void. Näiteks,

 void displayNumber() ( // code )

See tähendab, et funktsioon ei tagasta ühtegi väärtust.

Samuti on võimalik väärtus funktsioonilt tagastada. Selleks peame returnTypefunktsiooni deklaratsiooni käigus määrama funktsiooni.

Seejärel saab returnlauset kasutada funktsiooni väärtuse tagastamiseks.

Näiteks,

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

Siin on meil andmetüüp intasemel void. See tähendab, et funktsioon tagastab intväärtuse.

Kood return (a + b);tagastab kahe parameetri summa funktsiooni väärtusena.

returnAvaldus tähendab, et funktsioon on lõppenud. returnFunktsiooni sees olevaid koode ei käivitata.

Näide 3: lisage kaks numbrit

 // 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; )

Väljund

 100 + 78 = 178

Ülaltoodud programmis kasutatakse add()funktsiooni kahe numbri summa leidmiseks.

Me läbime kaks intliteraali 100ja 78funktsiooni kutsudes.

Salvestame funktsiooni tagastatud väärtuse muutujasse summa ja seejärel printime selle.

Funktsiooni C ++ töötamine tagastamislausega

Pange tähele, et summa on inttüüpi muutuja . Selle põhjuseks on asjaolu, et naaseväärtus add()on inttüüpi.

Funktsiooni prototüüp

C ++ puhul peaks funktsiooni deklaratsiooni kood olema enne funktsiooni väljakutset. Kui aga tahame funktsiooni pärast funktsiooni väljakutset määratleda, peame kasutama funktsiooni prototüüpi. Näiteks,

 // 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); )

Ülaltoodud koodis on funktsiooni prototüüp:

 void add(int, int);

See annab kompilaatorile teavet funktsiooni nime ja selle parameetrite kohta. Sellepärast saame koodi kasutada funktsiooni kutsumiseks enne funktsiooni määratlemist.

Funktsiooni prototüübi süntaks on:

 returnType functionName(dataType1, dataType2,… );

Näide 4: funktsiooni C ++ prototüüp

 // 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); )

Väljund

 100 + 78 = 178

Ülaltoodud programm on peaaegu identne näitega 3 . Ainus erinevus on see, et siin määratletakse funktsioon pärast funktsiooni väljakutset.

Sellepärast oleme selles näites kasutanud funktsiooni prototüüpi.

Kasutaja määratud funktsioonide kasutamise eelised

  • 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

 Ruutjuur 25-st = 5

Selles programmis kasutatakse sqrt()raamatukogu funktsiooni arvu ruutjuure arvutamiseks.

Funktsiooni deklaratsioon sqrt()on määratletud cmathpäisefailis. Sellepärast peame funktsiooni #include kasutamiseks kasutama koodi sqrt().

Lisateabe saamiseks külastage funktsioone C ++ Standard Library.

Huvitavad Artiklid...