C++ Funkcije s primjerima programa
โก Pametni saลพetak
Funkcije u C++ grupiraju povezane naredbe u ponovno upotrebljive imenovane blokove koji primaju ulaz, obraฤuju ga i vraฤaju izlaz. Programi kombiniraju ugraฤene biblioteฤne funkcije i korisniฤki definirane funkcije, od kojih je svaka deklarirana, definirana i pozvana kako bi se izbjeglo ponavljanje koda.

ล to je funkcija u C++?
Funkcija u C++ odnosi se na grupu izjava koje uzimaju ulaz, obraฤuju ga i vraฤaju izlaz. Ideja iza funkcije je kombiniranje uobiฤajenih zadataka koji se ponavljaju. Ako imate razliฤite unose, neฤete ponovno pisati isti kod. Jednostavno ฤete pozvati funkciju s razliฤitim skupom podataka koji se nazivaju parametri.
Svaki C++ program ima najmanje jednu funkciju, funkciju main(). Svoj kรดd moลพete podijeliti u razliฤite funkcije. Ta bi podjela trebala biti takva da svaka funkcija obavlja odreฤeni zadatak.
Postoje mnoge ugraฤene funkcije u C++ standardna knjiลพnica. Ove funkcije moลพete pozvati unutar svog programa.
Zaลกto koristiti funkcije?
Brojne su prednosti povezane s koriลกtenjem funkcija. To ukljuฤuje:
- Svaka funkcija spaja povezani kod. To programerima olakลกava razumijevanje koda.
- Funkcije olakลกavaju programiranje eliminirajuฤi ponavljanje koda.
- Funkcije olakลกavaju ponovnu upotrebu koda. Moลพete pozvati istu funkciju da biste izvrลกili zadatak u razliฤitim dijelovima programa ili ฤak izvan programa.
Ugraฤene funkcije
In C++, funkcije biblioteke su ugraฤene C++ funkcije. Da biste koristili ove funkcije, jednostavno ih pozovite/pozovite izravno. Ne morate sami pisati funkcije.
Primjer 1:
#include <iostream> #include <cmath> using namespace std; int main() { double num, squareRoot; cout << "Enter number: "; cin >> num; squareRoot = sqrt(num); cout << "The square root of " << num << " is: " << squareRoot; return 0; }
Izlaz:
Evo snimke zaslona koda:
Code Objaลกnjenje:
- Ukljuฤite datoteku zaglavlja iostream u naลก program da biste koristili njegove funkcije.
- Ukljuฤite biblioteku cmath da biste koristili njezine funkcije. ลฝelimo koristiti funkciju sqrt() definiranu u njemu.
- Ukljuฤite prostor imena std u naลก kod da biste koristili njegove klase bez pozivanja.
- Pozovite funkciju main(). Programsku logiku treba dodati unutar tijela ove funkcije.
- Deklarirajte dvije dvostruke varijable, num i squareRoot.
- Ispiลกite tekst na konzoli. Tekst traลพi od korisnika da unese broj.
- ฤitanje korisniฤkog unosa s tipkovnice. Unos ฤe postati vrijednost varijable num.
- Pozovite funkciju knjiลพnice sqrt(), koja izraฤunava kvadratni korijen broja. Proslijedili smo parametar num funkciji, ลกto znaฤi da ฤe izraฤunati kvadratni korijen od num. Ova je funkcija definirana u biblioteci cmath.
- Ispiลกite broj koji je unio korisnik, njegov kvadratni korijen i neki drugi tekst na konzoli.
- Program mora vratiti vrijednost nakon uspjeลกnog zavrลกetka.
- Kraj tijela funkcije main().
Korisniฤki definirane funkcije
C++ omoguฤuje programerima da definiraju vlastite funkcije. Svrha funkcije je grupiranje povezanog koda. Kodu se zatim daje jedinstveni identifikator, naziv funkcije.
Funkcija se moลพe pozvati/pozvati iz bilo kojeg drugog dijela programa. Zatim ฤe izvrลกiti kod definiran unutar svog tijela.
Primjer 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Izlaz:
Evo snimke zaslona koda:
Code Objaลกnjenje:
- Ukljuฤite datoteku zaglavlja iostream u naลก program da biste koristili njegove funkcije.
- Ukljuฤite prostor imena std u naลก kod da biste koristili njegove klase bez pozivanja.
- Napravite korisniฤki definiranu funkciju pod nazivom sayHello().
- Ispiลกite neki tekst na konzoli kada se pozove funkcija sayHello().
- Kraj tijela funkcije sayHello().
- Pozovite funkciju main(). Programsku logiku treba dodati unutar tijela ove funkcije.
- Pozovite/pozovite funkciju pod nazivom sayHello().
- Program mora vratiti vrijednost nakon uspjeลกnog zavrลกetka.
- Kraj tijela funkcije main().
Kompajler mora znati funkciju prije nego ลกto je koristi.
Deklaracija funkcije/prototip
Ako nakon funkcije main() definirate korisniฤki definiranu funkciju, funkcija C++ kompajler ฤe vratiti greลกku. Razlog je taj ลกto prevodilac ne zna detalje korisniฤki definirane funkcije. Pojedinosti ukljuฤuju njegovo ime, vrste argumenata i njihove povratne vrste.
In C++, deklaracija/prototip funkcije deklarira funkciju bez tijela. Ovo prevoditelju daje pojedinosti o korisniฤki definiranoj funkciji.
U deklaraciju/prototip ukljuฤujemo tip povrata, naziv funkcije i tipove argumenata. Imena argumenata se ne dodaju. Meฤutim, dodavanje naziva argumenata ne stvara pogreลกku.
Definicija funkcije
Svrha deklaracije funkcije je reฤi C++ kompajler o nazivu funkcije, vrsti povrata i parametrima. Definicija funkcije govori C++ kompajler o tijelu funkcije.
Sintaksa
return_datatype function_name( parameters) {
function body
}
Iz gore navedenog, definicija funkcije ima zaglavlje i tijelo funkcije. Evo objaลกnjenja parametara:
- return_datatype - Neke funkcije vraฤaju vrijednost. Ovaj parametar oznaฤava tip podataka povratne vrijednosti. Neke funkcije ne vraฤaju vrijednost. U tom sluฤaju, vrijednost ovog parametra postaje vault.
- function_name- Ovo je naziv funkcije. Naziv funkcije i parametri ฤine potpis funkcije.
- Parametri - Ovo je vrsta, redoslijed i broj parametara funkcije. Neke funkcije nemaju parametre.
- tijelo funkcije - ovo su izjave koje definiraju ลกto ฤe funkcija raditi.
Poziv funkcije
Da bi funkcija izvrลกila navedeni zadatak i vratila izlaz, mora se pozvati. Kada pozovete funkciju, ona izvrลกava izjave dodane unutar njenog tijela.
Funkcija se poziva po svom imenu. Ako funkcija prima parametre, njihove vrijednosti treba proslijediti tijekom poziva. Ako funkcija ne prima parametre, nemojte prosljeฤivati โโnikakvu vrijednost tijekom poziva.
Donoลกenje argumenata
In C++, argument/parametar je podatak proslijeฤen funkciji tijekom njenog poziva. Vrijednosti se moraju inicijalizirati na njihove odgovarajuฤe varijable.
Prilikom pozivanja funkcije, broj argumenata mora se podudarati. To znaฤi da vrijednosti koje prosljeฤujete moraju biti jednake broju parametara. Vrijednosti se takoฤer moraju podudarati s parametrima po tipu. Ako je prvi parametar cijeli broj, vrijednost koja mu se prosljeฤuje mora biti cijeli broj.
Parametrima funkcije mogu se dodijeliti zadane vrijednosti. Ako se tijekom poziva funkcije ne proslijedi vrijednost parametra, koristit ฤe se zadana vrijednost.
Primjer 3: Kako napisati i pozvati funkciju
#include <iostream> using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout << "Enter two numbers: "; cin >> x >> y; sum = addFunc(x, y); cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum; return 0; } int addFunc(int num1, int num2) { int addFunc; addFunc = num1 + num2; return addFunc; }
Izlaz:
Evo snimke zaslona koda:
Code Objaลกnjenje:
- Ukljuฤite datoteku zaglavlja iostream u naลก program da biste koristili njegove funkcije.
- Ukljuฤite prostor imena std u naลก kod da biste koristili njegove klase bez pozivanja.
- Deklarirajte funkciju pod nazivom addFunc() koja uzima dva cjelobrojna parametra. Ovo stvara prototip funkcije.
- Pozovite funkciju main(). Programsku logiku treba dodati unutar tijela ove funkcije.
- Deklarirajte tri cjelobrojne varijable, x, y i zbroj.
- Ispiลกite tekst na konzoli. U tekstu se od korisnika traลพi da unese dva broja.
- Proฤitajte korisniฤki unos s tipkovnice. Korisnik treba unijeti dva broja za varijable x i y, odvojene razmakom.
- Pozovite funkciju addFunc() i proslijedite joj parametre x i y. Funkcija ฤe raditi na ovim parametrima i dodijeliti izlaz varijabli zbroj.
- Ispiลกite vrijednosti varijabli x, y i zbroj na konzoli uz ostali tekst.
- Funkcija mora vratiti vrijednost nakon uspjeลกnog zavrลกetka.
- Kraj tijela funkcije main().
- Definicija funkcije. Definiramo funkciju addFunc(). Navest ฤemo ลกto ฤe funkcija raditi unutar svog tijela, { }.
- Deklaracija cjelobrojne varijable imena addFunc.
- Zbrajanje vrijednosti parametara num1 i num2 i dodjeljivanje rezultata varijabli addFunc.
- Funkcija addFunc() trebala bi vratiti vrijednost varijable addFunc.
- Kraj tijela funkcije, odnosno definicije funkcije.






