C ++ -toiminto (esimerkkien kanssa)

Tässä opetusohjelmassa opitaan C ++ -funktiosta ja funktiolausekkeista esimerkkien avulla.

Funktio on koodilohko, joka suorittaa tietyn tehtävän.

Oletetaan, että meidän on luotava ohjelma ympyrän luomiseksi ja värittämiseksi. Voimme luoda kaksi toimintoa tämän ongelman ratkaisemiseksi:

  • toiminto piirtää ympyrä
  • toiminto ympyrän värittämiseksi

Monimutkaisen ongelman jakaminen pienemmiksi paloiksi tekee ohjelmastamme helposti ymmärrettävän ja uudelleenkäytettävän.

Toimintoja on kahdenlaisia:

  1. Kirjaston vakiotoiminnot: Määritelty ennalta muodossa C ++
  2. Käyttäjän määrittelemä toiminto: Käyttäjien luoma

Tässä opetusohjelmassa keskitymme enimmäkseen käyttäjän määrittelemiin toimintoihin.

C ++ Käyttäjän määrittelemä toiminto

C ++ antaa ohjelmoijalle mahdollisuuden määritellä oma toimintonsa.

Käyttäjän määrittelemä toimintoryhmä koodaa tietyn tehtävän suorittamiseksi, ja kyseiselle koodiryhmälle annetaan nimi (tunniste).

Kun toiminto kutsutaan mistä tahansa ohjelman osasta, se kaikki suorittaa toiminnon rungossa määritetyt koodit.

C ++ -toimintoilmoitus

Syntaksi funktion julistamiseksi on:

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

Tässä on esimerkki toimintoilmoituksesta.

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

Tässä,

  • funktion nimi on greet()
  • funktion palautustyyppi on void
  • tyhjät sulut tarkoittavat, että sillä ei ole parametreja
  • funktion runko on kirjoitettu sisälle ()

Huomaa: Opimme tästä oppaasta returnTypeja parametersmyöhemmin.

Funktion kutsuminen

Yllä olevassa ohjelmassa olemme ilmoittaneet funktion nimeltä greet(). Toiminnon käyttämiseksi greet()meidän on kutsuttava sitä.

Näin voimme kutsua yllä olevaa greet()toimintoa.

 int main() ( // calling a function greet(); )
Kuinka toiminto toimii C ++: ssa

Esimerkki 1: Näytä teksti

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

Tuotos

 Hei siellä!

Toimintoparametrit

Kuten yllä mainittiin, funktio voidaan ilmoittaa parametreilla (argumenteilla). Parametri on arvo, joka välitetään ilmoitettaessa funktiota.

Tarkastellaan esimerkiksi seuraavaa toimintoa:

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

Tässä intmuuttuja num on toimintoparametri.

Välitämme arvon funktioparametrille kutsuttaessa funktiota.

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

Esimerkki 2: Toiminto parametrien kanssa

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

Tuotos

 Int-numero on 5 Tuplaluku on 5,5

Yllä olevassa ohjelmassa olemme käyttäneet toimintoa, jolla on yksi intparametri ja yksi doubleparametri.

Sitten välitämme num1 ja num2 argumentteina. Nämä arvot tallentuvat toimintoparametrit n1 ja n2.

C ++ -toiminto parametreilla

Huomaa: Funktion kutsun aikana lähetettyjen argumenttien tyypin on vastattava vastaavia parametreja, jotka on määritelty funktion ilmoituksessa.

Palautuslausunto

Edellä mainituissa ohjelmissa olemme käyttäneet void-funktiodeklaraa. Esimerkiksi,

 void displayNumber() ( // code )

Tämä tarkoittaa, että funktio ei palauta arvoa.

On myös mahdollista palauttaa arvo funktiosta. Tätä varten meidän on määritettävä returnTypefunktion funktiodeklaroinnin aikana.

Sitten returnlausetta voidaan käyttää palauttamaan arvo funktiosta.

Esimerkiksi,

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

Tässä meillä on tietotyyppi intsijaan void. Tämä tarkoittaa, että funktio palauttaa intarvon.

Koodi return (a + b);palauttaa kahden parametrin summan funktion arvoksi.

returnToteamus tarkoittaa, että toiminto on päättynyt. returnFunktion sisällä olevia koodeja ei suoriteta.

Esimerkki 3: Lisää kaksi numeroa

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

Tuotos

 100 + 78 = 178

Yllä olevassa ohjelmassa add()funktiota käytetään kahden luvun summan löytämiseen.

intOhitamme kaksi literaalia 100ja 78kutsumalla toimintoa.

Tallennamme funktion palautetun arvon muuttujaan summa ja sitten tulostamme sen.

C ++ -funktion toiminta palautuslausekkeella

Huomaa, että summa on inttyypin muuttuja . Tämä johtuu siitä, että paluuarvo add()on inttyyppiä.

Toiminnon prototyyppi

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

 Neliöjuuri 25 = 5

Tässä ohjelmassa sqrt()kirjastofunktiota käytetään laskemaan luvun neliöjuuri.

Funktion ilmoitus sqrt()on määritelty cmathotsikkotiedostossa. Siksi meidän on käytettävä koodia #include käyttää sqrt()toimintoa.

Jos haluat lisätietoja, käy C ++ Standard Library -toiminnoissa.

Mielenkiintoisia artikkeleita...