Funkcijų kūrimas Spausdinti
( 21 Votes )

Parašė Aurimas Šimkus   

Programuojant labai dažnai tenka rašyti daug daug kodo, todėl galima lengvai susipainioti. Tačiau mes galime programos kodą išskaidyti į mažesnes dalis - funkcijas.

Funkcijos gali būti kelių tipų:

  • siunčiančios (nesiunčiančios) kintamųjų reikšmes,
  • gražinančios (negražinančios) kintamųjų reikšmes,
  • rekursinės ir t. t.

Funkcijos aprašas:

grąžinamas_tipas funkcijos_pavadinimas (parametrai)
{
//funkcijos vykdymas
}

Grąžinamas tipas nusako, reikšmės, kurią funkciją gražina, tipą. Tada funkcijos pabaigoje rašoma:

 return kintamasis_kurio_reikšmė_grąžinama

Jeigu funkcija negrąžina jokios reikšmės, jos tipas rašomas void.

Į funkciją kreipiamasi šitaip:

funkcijos_pavadinimas();

Apžvelgime kelių dažniausiai naudojamus funkcijų struktūrų tipus.

 

Pačios paprasčiausios funkcijos pavyzdys:

#include <iostream>
using namespace std;
void spausdink()
{
 cout << "tekstas" << endl;
}

int main()
{        
 spausdink();
 return 0;
}

Į šia funkciją nesiunčiami jokie parametrai ir jokie parametrai iš jos negaunami. Ji tiesiog spausdina:

 tekstas

 

Funkcijos, į kurią siunčiamas vienas parametras ir kuri grąžiną reikšmę, pavyzdys:

#include <iostream>
using namespace std;
int suma(int a, int b)
{
 int temp;
 temp = a + b;
 return temp;
}

int main()
{        
 int ats; 
 ats = suma(3, 5);
 cout << ats << endl;
 return 0;
}

Į funkciją suma nusiunčiami du skaičiai: 3 ir 5. Šios funkcijos tipas - sveikasis skaičius. Taigi ji grąžiną sveikojo tipo reikšmę:

8

 

Funkcijos, kuri grąžina pakeistas parametrų reikšmes, dar vadinamos procedūra, pavyzdys:

#include <iostream>
using namespace std;

void kvadr(int sk, int& ats)
{
 ats = sk * sk;
}

int main()
{        
 int sk, kv;
 kvadr(8, kv);
 cout << kv;
 return 0;
}

Į funkciją kvadr yra nusiunčiamas skaičius 8. Šioje funkcijoje yra paskaičiuojamas jo kvadratas ir grąžinamas atgal. Norint, kad funkcija grąžintų pakeistas parametrų reikšmes, reikia jos antraštėje, prieš norimus parametrus rašyti &.