Функции

Функциите се градбени единки на програмите. Тие овозможуваат произволно структурирање на кодот и поголема модуларност.

Кај сите програми кои ги разгледавме досега, наредбите кои требаше да се извршат ги пишувавме во една функција - main(). Тоа е основниот дел кој го содржат сите програми - main() e првата функција која се повикува при стартот на една програма напишана во програмскиот јазик C++.

Практично гледано, функциите претставуваат множества наредби кои се извршуваат при секој нивен повик. Повик на одредена функција претставува наредба до процесорот за запирање на тековното извршување на наредби, запишување на моментната локација во програмата и повикување на соодветната функција. По завршување на повиканата функција, програмата продолжува со извршување од местото од каде е функцијата повикана.

Основната синтакса за креирање на функции е следната:

tip ime(parametar1, parametar2, parametar3, parametar4, ...)
{
    naredba1;
    naredba2;
    naredba3;
    .....
    naredbaN;
}

Притоа, tip е типот на податок кој се враќа како резултат од функцијата (или void, ако функцијата не враќа резултат), parametar1, parametar2, ..., итн, се параметрите со кои се повикува функцијата (тип и име), одделени со запирка, додека naredba1, naredba2, ..., naredbaN, ги претставуваат наредбите кои се извршуваат при секој повик на функцијата. Листата на параметри е незадолжителна и можно е повикување на функција без параметри - на пример, main().

пр. Функција за пресметување на збирот на два цели броја а и b.

int zbir (int a, int b)
{
  int s;
  s=a+b;
  return (s);
}

пр. Повикување на функцијата zbir од главната програма.
 
#include <iostream>
using namespace std;

int zbir (int a, int b)
{
  int s;
  s=a+b;
  return (s);
}

int main ()
{
  int z;
  z = zbir (5,3);
  cout << "Zbirot iznesuva " << z;
  return 0;
}

пр. Пример за функција со void, ако функцијата не враќа резултат
 
#include <iostream>
using namespace std;

void poraka ()
{
  cout << "Jas sum funkcija!";
}

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

Кога пишувате програми, обидете се да пишувате по една функција за секоја задача која програмата треба да ја реши (подредување на елементи во низа, пресметување на некој сложен израз, итн). Функциите овозможуваат делење на програмата на помали парчиња - кои, соодветно, се поедноставни за решавање. На овој начин, користејќи структурирано програмирање, ја намалуваме сложеноста на проблемот кој сакаме да го решиме.

Квиз